Why does Android require porting to each device, unlike Windows?
Windows has been built for working on multiple device types and has the ability to load drivers from removable devices and from a big online reposity (Windows Update). Windows has MANY inbuilt drivers.

Android is much smaller (which is better for smartphones.
So you have to include drivers and other device specific things in your ROM.