C definitely. Python is easier to learn and offers more standard things compared to C, but C is can be used to make everything imaginable, excluding bootloaders and other hardware specific things. With python you need to get the runtime since it's an interpreted language and not natively compiled, unlike C which is a compiled language, which means it runs natively on the hardware it was compiled for.
If you want to make hacks, C is definitely a better choice since the Windows API is in C and you'll be using that to make hacks for windows games. Also direct memory access and modifying is a fundamental part of C by default, but not really with python.
Python offers more portability since the APIs offered for python are the same on all systems, but with C the APIs may only be designed for a single OS in mind.
C programming will always be in more demand so there are more jobs there, as opposed to python which is pretty niche.
I don't recommend learning just to hack though. You need to be very competent at your language and need a good underlying knowledge of the Windows API and how memory works with windows (assuming you're with windows, but it's the same with all OS since they have different implementations). Hacking in itself is a different paradigm in programming, and is something to be learned in addition to learning how to program.
Which is why you shouldn't just learn to create hacks, because before you can actually make a hack you need to be a very good programmer, and it requires a lot of practice and experience to get there, which is why pretty much everybody who wants to learn to create hacks gives up (or ends up copying and pasting somebody elses work)
For example, I've been programming with C and C++ for 7 years and I don't even know how to make a hack for a game, since it's something completely separate from standard programming and its own thing, not to mention completely system dependent. Though I would say I'm a pretty good programmer lol