And if they did that, instead you would have just bought a phone that was stuck on Android 6
> made OS updates a requirement of the Android licence contract
Now you're being contradictory. You want to force manufacturers to always update to the new Android versions. But you ALSO want to make Android 7 require specific hardware features. How could these requirements work together?
That is something Google could do to actually solve things - make the OS binary compatible (rather than requiring device manufacturers to recompile) with driver blob plug-ins. It would require a change to the Linux driver ABI model but without know anything about Android I kind of assume they've already done that.
The first part of your solution conflicts with the second. You cannot both require new hardware for an OS version and require OS updates for old hardware.
And since Android 1, have made OS updates a requirement of the Android licence contract for Google services.