There was a really cool article a few months ago that tried to model polarization on the political spectrum [1] -- on the premise that most people will start off moderate on issues and then update their weakly-held views to align with people they like, and against people they hate, until they converge.
Through this lens, my own theory of what's happened is that a few conservative news outlets -- conservative talk radio, Fox News, etc -- made themselves into an anchor on the political spectrum by strongly holding opinions that would capture a large audience. Christian/pro-life, pro-freedom, pro-free-market, and all the other stances ossociated with conservatives. The left is much less organized because it's trying to capture all voters who don't fit the mold of what is conservative, and there is a ton of diversity outside of conservativism a la LGBT rights, the role of police, the role of unions, how to help minorities, how to help foreigners, the state of US jobs, the importance of the environment, etc. Conserviatives are probably much more unified in their views on these issues than liberals are.
However, as time moves forward the conservative values haven't changed while liberal values have been updating much more quickly, and there's no path for conservatives to come back to the center. If you're pro-life but sympathetic to minorities, you have to choose between the side you see as murdering babies, vs the side you see as not offering help to minorities. You probably side with anti-abortion, then after a while convince yourself that not helping minorities is the right thing to do anyway.
I think a way out is to have more than 2 anchors, e.g. a way to vote pro-gun but also pro-environmental regulation. And I think a way to achieve that is to switch to ranked voting -- it makes 3rd parties more viable so you can vote for the candidate that most aligns with all of your views, which gives people more flexibility for changing their views.
[1]https://phys.org/news/2020-06-theory-political-polarization....