I don't want to load 20 modules before I can begin coding. I just want to input my algorithm and get a result I expect
In the real world of scientific programming, that's often not enough. A lot of scientific software needs to collect data from instruments, parse, format, deal with databases, perform visualizations, present user interfaces to lab assistants, interface with foreign libraries, etc. It needs to be unit tested, regression tested, maintained, reused, refactored, etc. Scientific libraries often become big and complex with hundreds of modules and tons of name conflicts.
A language that just loads everything into a global environment and lets you code some matrix multiplications is fine for classroom use, and it's also fine for graduate students who come up with an algorithm, publish a paper, and move on. But that's not good enough for a lot of real-world scientific applications. Another big problem with MATLAB is its licensing and pricing (Octave and Freemat don't address that issue because they aren't fully MATLAB compatible, meaning many libraries just don't run in them).
As a VHLL, Python strikes a good balance between software engineering support and support for scientific programming. And its libraries have long surpassed MATLAB's, except for some specific domains. One could probably design an even better language for serious scientific programming than Python, but until someone does, people are likely going to stick with Python.
If MATLAB works for you, fine, stick with it. But don't presume based on your very limited needs to talk about what "scientific programming" is all about.