Except Python doesn't use C++ at all -- using C++ from Python is not very easy. The reason is that Python's native FFI interface is in C, because the interpreter is written in C. The reason Jython, PyPy, IronPython, etc. never got traction is because of all the Python core libraries written in C.
From a Python implementor standpoint, you have to implement Python's interpreter in the language you want to do the tight loops in. So for example, Jython was a reimplementation of Python on the JVM to make it possible to easily use Java for the tight loops. IronPython was the same, but for .NET.
You say it's cultural, but it's all about ergonomics and backwards compatibility. Making it easy to write tight loops in Fortran means changing the FFI API to be fortran friendly, which it is not.
Just try writing your MPI code with a combination of Fortran and Python. I did it circa 2005 and it was a technical nightmare.