What is the cost to NASA per launch to ISS of Starliner vs Crew Dragon?
According to a 2019 report by NASA's Office of the Inspector General (OIG), the launch costs are (in million\$):
So, out of the three vehicles currently being used to bring NASA astronauts to the ISS, Crew Dragon is the cheapest and Starliner the most expensive, but not significantly more so than Soyuz. (Note that it is believed that the Soyuz prices are inflated because Roskosmos knew full well that NASA had no choice than to pay literally any price.)
Note that both Boeing and NASA have objected to the NASA OIG report, saying that the calculations for Boeing do not take into account the fact that Starliner has more cargo upmass than Crew Dragon and thus can launch the equivalent of a fifth astronaut in cargo to the station. (However, note that even 345/5 is still 69, higher than Crew Dragon.)
Is NASA contractually obligated to keep paying while the Starliner's schedule gets increasingly delayed, or can NASA decide to switch over the the Dragon exclusively?
Whether they can or can't ditch Boeing is irrelevant: they won't. The whole point of awarding two contracts is dissimilar redundancy. NASA wants two completely independent launch providers launching crew on independent capsules using independent launchers. No-one except Boeing is currently close. (Although industry insiders assume that Sierra Nevada Corporation will try to get back into the game with a crew-rated Dream Chaser at some point – they were in the competition after all, and they have scored a CRS contract, so once they have demonstrated safe launch, return, and docking with cargo, it will be easier to get a crew certification.)
They do the same thing with Commercial Resupply Services (SpaceX Cargo Dragon, Northrup Grumman Space Systems Cygnus, and Sierra Nevada Corporation Dream Chaser) and they try to do the same thing with the Lunar Human Landing System (they wanted to award two contracts, but Congress only gave them enough funding for half of the cheapest bidder – SpaceX).
It is not clear whether NASA is obligated to pay anything to Boeing while they are not launching. However, it is in their interest to do so and to make sure Starliner does come online sooner rather than later.
Also, the Starliner is using the Atlas-V which is end of life. […] Will the Starliner be retired, or switch to using the Vulcan/Centaur?
This has apparently changed a couple of times. In 2015, ULA has still said that they expect Vulcan to be crew-rated from the start and that crew-rating it will be easy.
However, more recently, ULA has said that Boeing does not plan to certify Starliner for Vulcan.
ULA still has enough Atlas V N22 (or rather RD-180s, since that is the limiting factor) to support Starliner until 2028. What happens then? Who knows. Maybe Starliner will move to New Glenn: what's the point in paying a fortune to ULA when you can have a crew-rated cheaper reusable rocket with the same engines?
The idea of launching Starliner on Falcon 9 has been floated a couple of times on social media, but even ignoring the potential political awkwardness, this would also run afoul of NASA's whole reason to award two contracts in the first place: dissimilar redundancy. In this hypothetical scenario, any problem with Falcon 9 would cut NASA off from the ISS completely, unless they book seats on Soyuz. Which not only is expensive, but also limits the US Operating Segment again to only one crew member, which is not even enough to "keep the lights on", let alone perform any upgrades or research.