For games, other soft realtime, and run once code, pypy is slower. The newer GC is better, but the JIT still causes pauses. The slow warm up of the jit, no type hint saving, and slower interpreter is why it is not good on run once code. Of course if your python extensions are calling optimized assembly routines, or hardware, then it will be faster than pypy code written in python.
Also, using a JIT is not possible on some platforms (iOS, or if the CPU architecture isn't supported by pypy).
Not to say that pypy isn't better for certain tasks of course.
That's pretty much what Nuitka is. Unfortunately, PyPy is only fast because it can take advantage of runtime information in the JIT. AOT compilation loses that advantage.
Not easy at all. ART generally compiles quite static languages (Java). Python is an incredibly dynamic language. The challenges for AOT compilation are vastly different.
Also, using a JIT is not possible on some platforms (iOS, or if the CPU architecture isn't supported by pypy).
Not to say that pypy isn't better for certain tasks of course.