The reason is pretty straightforward. If I, as a manager, see that you have a history of 1-2 year tenures, It's sensible for me to assume that that's what you'll do at my company too. The more senior the position, the longer term the work usually is. So, if you're making decisions for 5-10 years but are only going to be around for 2, what's the likelihood you'll be making good long term decisions rather than good (for your resume) short term decisions?
There are, of course, exceptions to this. If, say, you specialise in turning around failed departments then serial short tenures may well make perfect sense. But, in general, the shorter the expected tenure, the lower the expected benefit vs cost.
Of course, that's not to say that hiring someone who has 10 years at a previous company means that they'll stay forever. But, as a hiring manager, you're taking plenty of risks as it is. It's usually safer to hire someone with a few reasonably long tenures all things considered. And that's really the point. If the rest of your resume is outstanding for the role, then I may just accept that I have you for 2 years tops. But if it's on a par with the market then I have little incentive to hire you versus someone less risky.
Source, am reasonably senior manager at a large company and have hired a lot of people over the years.