I recommend not to read about statics if you are not coming from java background. Kotlin does not have statics in the language. What you have are naming scopes. Package is a scope since full name of class, property or function includes package name. Class or object is also a scope.
The full name of entity is <package.name>... To entities with the same name and signature (for function signature consists of parameter types and in some cases return type) obviously can’t exist simultaneously since compiler can’t distinguish between them. So in order to have two functions with the same name and parameters, you need to either place them in different packages or in different classes.
Top level functions are called that way because they are not placed inside class. They are not big deal if you are coming from procedural language like Fortran or Python. But in Java they are not allowed, so they are usually confusing for Javists.