Because Google decided that the Android version must be coupled with the Linux version. And Linux is not able to run old drivers, so vendors must update drivers for old devices to new Linux version.
So either Google should support old Linux kernels with new OS releases or Linux should provide stable kernel API (which is considered nonsense in Linux world) or some kind of compatibility layer.
So either Google should support old Linux kernels with new OS releases or Linux should provide stable kernel API (which is considered nonsense in Linux world) or some kind of compatibility layer.