O in OO means "object", not a class. Object Oriented is all objects or instances (if you prefer)
Statics do not belong to the object, they cannot be inherited, they do not participate in polymorphism. Simply put, statics are not object oriented.
Scala, on the other hand, is object oriented. This is much more than Java, which especially tried to behave like C ++ in order to attract developers from this language.
This is a hack invented by C ++, which sought to overcome the worlds of procedural and OO programming and had to be backward compatible with C. It also recognized primitives for the same reasons.
Scala rolls statics and primitives because they are a relic of a time when ex-procedural developers needed to be reassured. These things do not occur in any well-designed language that wants to describe itself as object-oriented.
Regarding why this is important for truly OO, I'm going to shamelessly copy and paste this excerpt from Bill Venners on the mailing list:
The way I look at this is that singleton objects allow you to do static things where they are needed in a very concise way, but also benefit from inheritance when you need to. One example is to simply check the static parts of your program, because you can make traits that simulate these parts and use traits everywhere. Then, in the production program, single-element implementations of objects of these traits are used, but mock-ups are used in tests.
Couldn't have said better myself!
So, if you want to create just something, then both static and single games can do the job. But if you want one thing to inherit behavior somewhere, then statics won't help you.
In my experience, you tend to use this ability much more than you initially thought, especially after you have used Scala for a while.