1) scattering of effort (each framework gets less total attention by fewer people),
2) duplication of effort (besides what is unique in each, tons of effort is spend in implementing mostly the same things),
3) Many half-finished frameworks
4) Worse documentation and less books/manuals/video tutorials (see 1, 2)
5) Less chances of getting an answer to a framework problem in forums/irc/SO (again: scattering of resources).
6) Less vibrant ecosystems around the framework (if each of 10 frameworks has 10% of the market, it's not as good a business to invest in making plugins as something that has 30-40%). Same for hosting offerings, support, etc.
So you want variety but not too much. 2-3 big players would be mighty fine. 10 players of equal size, not so much.
I think the reason why Python never went all in on a single web framework is just because the Python community itself is much larger and more diverse than the Ruby community. Consequently there were alot more opinions and alot more people willing to develop those opinions into separate projects.
Maybe you're right that there are advantages to converging on a single framework, but I'm not so sure. Rails is omakase, so if there's some part of it you don't like its not really easy or a good idea to change it, and you don't have any other options in Ruby. Django is also omakase but if there's some part of Django that you really disagree with you can just move to web.py or flask or pyramid. these are all built on the common core of Python's wsgi module so these are just different opinions on how to accomplish the same task.