My two cents: data science and machine learning are essentially maths, calculus and algebra, and Python it's one of the richest language in terms of math libraries out there. Moreover, it's syntax is simple and effective, so that you can keep focused on the task you're working on, and leave most of the details to the language itself. Last but not least, it's overhead is limited with respect to Java, for example.
I think you might need to make a distinction between "data science" and "science".
Historically, the Fortran programming language has been used for science. After all, it was designed for just that (For tran == Formula Translator - originally FORTRAN). And Fortran could compile on systems with 4K of memory back when a 4K mainframe was a serious investment. So a lot of math work was done there and a lot of support libraries were written in Fortran. And SAS - the Statistical Analysis System was designed around Fortran (and PL/1 - IBM's attempt to improve Fortran to handle general and business computing).
Fortran was also the preferred language for supercomputers.
Admittedly, Python has had a lot of interest from scientific users, though. Fortran is no longer the one and only language for scientific programming.
Data science, however, is a particular scientific sub-discipline and Python is better for non-numerical processing while still being fully usable for numerical work. And, unlike PL/1, efficient Python can be achieved for free on almost any modern computer system.
When it comes to destroying a civilization, gas chambers cannot hold a candle to echo chambers.