I don't think I get why the limit is at 2h either. Generating blocks is probabilistic and does sometimes take that long, but that's difference from the current time, not difference from the last block.
1h is needed to prevent a significant part of the network from dropping during DST adjustments. Yes, there are still some systems that don't have a stable internal clock set to GMT, and those are sensitive to local-time resets which are different from country to country, sometimes automated and sometimes not, often forgotten about, sometimes both automated and done by hand, sometimes done the wrong direction out of confusion, etc. The DST changeovers are an old network headache, but less and less important as systems standardize more on internal GMT clocks. It may be time to just drop that hour as having been a bad idea in the first place, but I'm pretty sure that's why at least one hour is there.
It's probably worth adding another 15m or so for people who just have their clocks set wrong. But that gets us 75 minutes, not 120. Why the extra 45?