Running python script from terminal: umap issue
You answered your own question, yet it is not a coincidence that you have to change the name of your script.

When Python executes your custom script, it reads:


  import umap


Python will first search the local sources (the directory of the script) , and afterwards the installed sources.

In this case Python identifies the local source to be umap.py, and imports the (currently executed) script, while foregoing the installed sources. 
Since you are calling functions, not defined in your current script, Python will not be able to fully execute your script.

For more information on importing see Module search path at docs.pyhton.org