The only thing stopping people from running Android on iPhone Hardware is that no-one can be bothered installing it.
Putting Android on an iPhone is only marginally more difficult than updating your Android Phone using CyanogenMod.
When Mac's started using Intel Chips and Windows-on-Mac-Hardware was viable, lot's of people wanted it. Unfortunately, due to Windows Closed-source nature, it wasn't compatible with the Mac's EFI BootROM.
One person placed a Bounty for the first person to create a way to dual-boot MacOSX and Windows. No-one succeeded.
Apple Launched BootCamp Beta for Leopard. Snow Leopard had BootCamp built in. So does Lion.
If people wanted to run a custom ROM on their iPhone, they could. The facts are that iOS is the pinnacle of Mobile Device Software. The iPhone is the pinnacle of Mobile Device Hardware. The greater Majority of iPhone users have no interest whatsoever in putting an Alternative OS on their iPhone. Since you can buy an Android Phone for $40 in the bargain bin of your local corner shop, no iPhone user really needs to.