First, ask whether you actually need two cars. You've been getting by with one; can you continue to do so while you get the roof fixed and save up some more?
Second, if you decide you do need two cars and are willing to pay for them, focus on the specific use each one will get. Your DH needs a commuter vehicle. OK, he can buy a small, fuel-efficient vehicle (hybrid or no, depending on price/availability/type of commuter). Look for the cheapest 2018 reliable small car you can find.
You, OTOH, need a kidmobile. And that is called a "minivan." You know what a SUV is? It's a minivan wearing a suit in a cow pasture: it's popular because it tries so hard to look cool, but at the cost of practicality. You end up paying a lot more for a lot less. Be smart. Put function ahead of fashion. Buy an old minivan (after all, you're not the one fixated on 2018 or newer, and this is your vehicle) so you can get the kids where they need to be at the most cost-effective price.
I imagine you are not particularly happy with this advice. I imagine your DH would not be particularly happy driving around an old minivan on the weekends. Examine for yourself why that is. Are they too ugly? Do they send a signal that you can't afford better? Guess what: you can't afford better. You have two small kids, one job, and $20K to cover two cars and a roof. This is the time to suck it up, put your pride and your list of wants aside, and do the smart thing. Going into debt for a fancy depreciating asset is, in a word, stupid. It's sometimes unavoidable when you're just starting out, but you're further down the road -- you have the ability not to do that. You have the $ to buy what you need, just not the $ to buy what you want. Be smart, buy only what you need, and postpone the wants until you've got a bigger financial cushion.