This isn't a huge surprise. Back in January, the GAO released a report that said that human flight certification of Boeing and SpaceX rockets would likely be delayed until the end of 2019. NASA currently has seats for astronauts on Russian Soyuz spacecraft through the fall of 2019. After that, well . . . Houston, we have a problem.
Russia doesn't have any more Soyuz seats to offer us for purchase, so that leaves a significant gap between when we will need operational human spaceflight capabilities and when we will have them. The only solution is to use SpaceX and Boeing's test flights as actual flights, in which we carry humans to and from the ISS, rather than as the test flights they were originally designed to be.
Changing the contract expands NASA's options as the clock ticks down. It's not ideal -- the first test flight of a brand new spacecraft should be just that, a test. But given the myriad delays that have occurred in getting our commercial crew program up and running, it's not surprising that NASA would take this step in order to give themselves just a little bit of breathing room.