Java is not the problem, the architecture is the problem. If you try hard enough, you can make something unwieldy and atrocious in ANY language. That's why enterprise architects get the big bucks.
And if you try even harder, you can make something that is compact, but elegant and functional. It is still architecture, but it is good architecture. It's not the architecture that is the problem, it is the architect. Or specifically the motivations provided to the architect based on the compensation they are given. Unwieldy and atrocious looks like it took longer to the untrained eye, even if it probably didn't, so they face less grilling about the claimed effort involved. Simple to use is, in my experience, rarely simple to build. But it is simple to understand, and there is a unreasonable cognitive bias that simple to understand means simple to conceive. If that point can become more a part of everyone's collective wisdom, I suspect we would cure at least part of the motivation for creating these unwieldy systems.
I don't know. After seeing some pretty unbelievable crap in VB, php, and javascript, I bet it's more a matter of numbers. The kinds of people who program in Python or Ruby aren't off the assembly line because the industry demand isn't as high. If one of those languages manages to become as widely used as Java, plan on seeing fugly spaghetti.
The thing is, if you're writing a Ruby framework and there's a tiny chance someone will want to extend some part of it, they can do it without you needing layers of ClassFactoryFactory crud.