I don't understand module_load_include()
We see that require_once $file is used to load $file into the scope of module_load_include()


Not quite. This is from the include docs (identical to require in this respect)


  When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward. However, all functions and classes defined in the included file have the global scope.


Emphasis mine.

So functions/classes defined in an a file sourced with include/require will be available to all subsequent code. Or more specifically, all functions/class defined in the file you include via module_load_include will be available in mymodule1_myfunction1() after the call.