Kotlin is an object-oriented language. In an object-oriented language, something not being an object is an extremely crippling restriction. Classes aren't objects, but objects are objects (duh!), so the question should rather be: why would a language not use companion objects?
Another aspect is simplicity: why have two things, objects with instance members and classes with static members when you can just have objects with instance members?
An alternative that is used in many Smalltalk-derived languages, is to make classes themselves objects. E.g. in Smalltalk classes are instances of a parallel hierarchy of metaclasses. In Ruby, classes are instances of the
Class class (and yes, that means that
Class is an instance of itself). In that case, "class methods" are actually just normal instance methods of the class's metaclass. I don't know why this design wasn't chosen in Java (given its close to relation to Smalltalk), but it may have something to do with simplifying the type system (note that most languages with classes-as-objects tend to be dynamic languages).