I guess because you're asking a question of the object - "is this empty?"
It already implements count() and the corresponding interface so it's possible to write count($collection) as if you're writing $collection->count(). It's a valid question why this type of object needs two methods for checking the same property.
PHP does not have an interface for empty. count and empty are not equivalent. empty should be called on the underlying array and not the object.