Some of his behaviour is learned and some of it is possibly rage at you for not leaving when he was younger.
I think these are the things you need to do:
Sit down and apologise for his childhood. It was not your fault that your husband was an abuser, but rightly or wrongly (and no judgment from me AT ALL), you stayed and your DS was was witness to the worst kind of misogynistic abuse.
Tell your DS that you accept that he is damaged and displaying learned behaviour from a twisted and broken role model and that you recognise he had no choice in the values he was taught my his father.
Tell him that you accept he may be angry with you for not leaving and ask him if he would like to understand better why that was - the fear, the entrapment, the numb exhaustion and so on....
Tell him you love him very much and that you want him to heal, as you have started to do, if not for your relationship with each other, then for future relationships he might have.
But this cannot continue. So finally, give him an ultimatum. He either starts therapy - properly - booked weekly, full attendance, or shows you that he is doing something to work on himself in a different way, or he has to leave. Put a timeline on it. A week to decide how he wants to move forward. At the end of that week, he has either booked therapy or packed his bags.
His childhood was not his fault, but he is an adult now and must take some responsibility for working through his feelings as they are clearly causing him to repeat the abuse cycle.
Loving, accepting of your role (not leaving) but firm.
I wish you so much luck.