I'd say Python sites are quite a bit less common in the wild than Java or C#.
There are a lot of advantages to using a popular language, framework, or library. Lots of documentation, lots of other people to help you, lots of libraries, etc. Whether something gets popular is really no different than anything else. It's a mix of quality, marketing, and whether or not it solves a particular problem well. If someone like John Resig tweeted tomorrow about some super obscure framework with 12 stars on github, then by Sunday it's probably going to have a few thousands stars and by Friday recruiters are going to be asking for 6yrs experience in it.
It also depends on which market you're going for and what your goals are. There are a lot of jobs between Java and C# and a large number of them are backend web sites/web services. Each probably has far more in number than Ruby or Node.js combined and multiplied, after you factor in people sitting in the same job for 20yrs compared to Ruby/Node devs changing every 6 months. But if you're looking at startups, then you're not going to see a whole lot of Java/C# apps, but you will see a ton of Ruby/Node.js.
Honestly, there are no good reasons for this other than culture of the people who follow a certain stack over another. You could make an argument one way or another, but really it's trivial since the problem could be solved or more likely already has been solved by something you could find with enough research. Whether or not it is popular enough to have the support and community you need, is another story. Take Ruby on Rails, it is able create applications very fast by doing a lot of work for you, but there is absolutely no reason why a Java or C# framework couldn't do this. It's just they don't and the communities behind them aren't screaming for it, and there actually is a Java(ish) framework called Grails that pretty much does everything that Rails does. The community however, is not really that active.