Beside all politics, I suspect there are solid technical reasons why the phones out now can not get WP8 in its full glory with reasonable effort and reasonable cost. Microsoft seems not to detail them, but I think they are there.
Candidates in my eyes are:
a) WP8 with its new core also brings another device driver model compared with the old Windows CE based kernel of WP7. Who will write or provide all these drivers for the existing phones? Maybe the manufacturers are unwilling or unable to provide them.
b) The boot loaders of the existing phones may not able to boot WP8, and its too complicated / costly to modify those boot loaders.
c) WP8 may be too big to fit into the flash memories of existing phones.
By the way, the one reason that is widely floated ("WP8 is multicore, so your existing phone with a single core won't be able to run it") strikes me as something given to the non-technical masses, as something that sounds logical and is therefore more or less acceptable. Technically, that strikes me as so much rubbish: The Windows NT kernel was multicore from the beginning but of course runs quite happily on a single-core CPU as well.
And that's true for any other OS that I ever heard of: I don't know a single example of an OS that absolutely cannot run on a single core, but must have more than one.