You are right and wrong. Your facts are a little screwy. When the FCC had their auction for the 700Mhz spectrum, Verizon was the top bidder... essentially getting a nationwide 700 Mhz license. But during the auction, Google was also bidding and proposing rules to the FCC... Google really didn't have any interested in obtaining the spectrum... they were there really to stir the pot and make the FCC put conditions for using the spectrum. One of those it forcing Verizon to unlock all devices that use the LTE network and for the LTE network to accept any compatible unlocked LTE phone.
That is why the iPhone 5 and up are unlocked on Verizon. It is not only iPhones... but ALL of their LTE phones.
But... this restriction only applies to their LTE network, not their CDMA network. That is why... if you were to take an unlocked AT&T or T-Mobile iPhone and put a Verizon SIM into it, it would connect to LTE... but not be able to connect to "3G" CDMA.
----------
The law DOES NOT force carriers to unlock phones. The law makes it legal for you or a 3rd party to unlock your phone. This is fine and dandy for other phones, but iPhone unlocks are stored on Apple's servers and 3rd parties cannot access it. Sure... there are 3rd party iPhone unlock services, but they usually have an inside man who works for the carrier and has access. That is why they charge so much for iPhone unlocks.
I doubt this law will have any affect on Sprint's iPhone unlocking policy.