1. You are not overreacting. Her behavior is immature. In my world, driving is an adult privilege; if you cannot accept adult responsibilities, you do not get adult privileges.*
2. Unfortunately, this is your wife's battle to fight. You need to work with her to agree to acceptable consequences.
3. Personally, I'd focus that discussion and the consequences on the attitude vs. the accidents themselves. Imagine how different this would feel if she had come home from that first accident and said, "OMG, I had NO idea it was that slippery, I really need to leave more distance between me and the car in front," and then come home from the second one saying, "oh man, oh man, I thought I looked, but I didn't really have a clear view around the car turning left the other way, I should have just been patient or eased my way out, or [etc.]" That is a kid who made a mistake, realizes it's a mistake, and is trying to learn from it -- IOW, that is a kid who is on the way to being a responsible adult. Totally different from ass-covering excuse-making. People who are always looking for someone else to blame do not tend to live productive, happy lives -- at least, not until they move past that stage, which is more worthy of a 14-yr-old than a grown woman. Letting your stepdaughter slide on this is not doing her any favors; it's putting short-term family harmony over her long-term need to grow up.
4. To me, the minimum would be that she pays the increase in the insurance and figures out a way to do extra chores/whatever to work off the repair costs (I might have been more lenient on the repair costs the first time, but not after 2). And, with that attitude, probably no access to a car until she gets that paid off. But, again, your DW has to be the one comfortable with it.
*Heck, in my state, she would not even qualify for an unrestricted license yet -- you can get only a restricted license at 16.5, and you have to make it to 18 with no moving violations or at-fault accidents in order to qualify for the full license. That would have solved your problem right there -- restricted = no friends in car without adult.