I absolutely agree and think the same thing about Python - I dislike the module=file relation because I often want to split a module into multiple files and I also dream about storing code in a graph database often.
There's nothing stopping you from splitting a module across multiple files in Python
Yes, it will result in sub-modules
If you hate addressing code in the sub-modules via the sub-module path you can import them in the __init__.py of the parent module
Personally I dislike languages which add another layer of (IMHO worthless) complexity by decoupling the owning module of the code from the file path, so you have now have to resolve that before you can understand it.
Well, that actually needs to be transparent to be useful for the way I want to use it. I can't even understand why would one need sub-modules so far. The actual reason is to have different members (i.e. every method) or sets of members of a same class to be implemented in separate files. I just hate to have long code files and to have code above and below a function declaration.
Partial classes in C# are an example of how can that be implemented the way I like it. The only problem with the C# way is it adds an additional indentation level. I would prefer the module (or even the class) to be declared in the beginning of the file without contributing to indentation.
There is no such limitation in Clojure, though it is that way by convention. You can put all namespaces in one file, if that's how you want to roll. You can also split a module into multiple files.