And I'm not comfortable with how functions are called like this - for instance pygame.Class1.function(). To me I always feel that it's the object which should call the function and not the class.
I'm not sure where you got the idea that this was having to use classes to call methods... it is subdivision of namespaces, like C# uses (System, System.Windows, System.Windows.Forms...). For example, the display functions are in a submodule of the overall pygame module. If you want to access the functions after only importing pygame, you have to do this:
because set_mode is in a file called display.py (or .pyd) under the pygame directory.
If this bothers you, you could do this instead:
from pygame import display
and then call display functions directly: