I see that there are some projects about installing Linux on an Android Device, but how is the Hardware support?
If I install linux, can I have access to the hardware via Python, like in Android?
Technically you don't "run Linux on Android". In fact, every Android device runs "under" Linux (That is, Android uses the Linux Kernel). What happens when you install a Linux distribution (I think that is what you meant by refering to Linux) on Android is that the Android OS and the Linux dsitribution share the same Kernel. Even if you replace the Android installation with a pure (GNU/)Linux one, the used Kernel is "the same".
Therefore the HW API calls are identical, and you can access the hardware from e.g. Python without any difference.
An Android app now allows device users to add custom versions of multiple Linux OS.
Andronix allows unrooted Android users with > 2.5GB free and Termux on Android 5.1 or newer to install Ubuntu and other Linux OS with Xfce, MATE, LXDE, LXQt, and KDE desktop environments. The basic app is free and runs on devices with ARMv7, ARM64, and x64 CPUs; the publisher sells customized Linux distros through the Google Play Store.