Why does the 555 timer have a maximum frequency of 2MHz?
There's no single answer to your question. It's a mix of the maximum speed of the transistors involved, limits put by maximum currents you want to carry on an IC, the parasitics you can't wish away in the olden packages that 555s are often sold in, the fact that for higher speeds, you'll need smaller capacitors, which means they are less large compared to inherent capacitors.
Also, the fact that if you're building something very fast, you probably won't be happy with what the 555 can do, anyway, so there's little demand backed by actual money that would justify spending millions on devising a higher-speed 555, doing the analog design, taping out that chip, and finally manufacturing it. Where there is no real demand, no products emerge.
In short: the 555 idea is limited by many things, and what it is in your specific use case will depend. If you need higher frequencies than 2 MHz, my bet is that you should be asking a different question, namely how to achieve what you want to achieve through the 555, without t trying to use a 555.