This is not necessarily the case.
It is a problem to use singletons across separate JVMs if they share meaningful state. For instance, a singleton that stored and issued incrementing IDs would be very dangerous if two separate instances existed on two separate application servers that were both part of the same application.
There is nothing inherent in Spring that makes this more or less tricky to deal with. Your Spring beans (likely services) should aim to maintain as little state as is practical as a matter of good practice. If they need to share state, then you will have to solve this problem just as you would with any other shared state.
A great many people use Spring in clustered environments and do not run into any problems relating to the above. I'm one of them!