To your last point: it’s neither the language nor the packages but rather it’s the ABI.
Python isn’t fully ABI stable (though it’s improved greatly) so you can’t just intermix compiled dependencies between different versions of Python.
This is true for many packages in your distro as well.