In general, the Embedded space is very different from multitasking Application environments. The mistake is assuming language choices people make were independent of the language specific features outside isomorphic code implementation.
Python is great in many ways, but anything with a garbage-collector or JIT has fundamental problems with parallelism and or real-time environments.
https://en.wikipedia.org/wiki/Clock_domain_crossing
https://en.wikipedia.org/wiki/Metastability_(electronics)
I would never claim to know what I am talking about, but reliance on other peoples hobby projects can inject naive/unstable dependencies into your long-term work.
This list of rules applies to most languages:
https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Dev...
A bit of history where these rules came from, and why they matter.
"Why Fighter Jets Ban 90% of C++ Features"
https://www.youtube.com/watch?v=Gv4sDL9Ljww
The basis of the cited 10 rules helped form many standards for reliable code:
https://www.stroustrup.com/JSF-AV-rules.pdf
Good luck, and I agree dealing with bitmap multi-language fonts is difficult without a header template generator. imagemagick can build this for you with a bit of one-time scripting, but it always eats up a lot of rom memory. =3