There is a lot going on here so let’s try to separate some of these bits.
First of all, he is a child and he can’t regulate his emotions like (most) adults can. He is experiencing big emotions and taking them out on you because you are there and because you it sounds like you just take it. It yours (and his dad and teacher’s) job to teach him how to manage these feelings.
You have to show him, model to him, explain to him again and again and again how to deal with his emotions. For example: you can acknowledge how he’s feeling “I can see that you feel really angry right now”, then sympathise with him “im sure it’s not nice to be feeling so angry.” You can validate his feelings “it’s really normal to feel angry and to want to shout” and you can set a boundary “but it is not ok to to shout at me / call me names” etc.
Frame your conversations in terms of needs. “I can see you’re really upset. What is it that you need right now?” And “I also feel upset, I don’t like arguing with you. I need x and y from you”,
This is foundation of your response to him every time and it will feel like it makes no difference but it will gradually sink into him.
In happier times when you’re not mid argument, find a time to discuss alternative ways of communicating. “Sometimes you get really frustrated and you shout at me, but that makes me feel bad and it doesn’t help get you what you need, what could we do instead?” Write a list, keep it on you, try to stick to it.
Make sure you set clear boundaries, that don’t reward him suppressing his emotions but that reward him communicating constructively with you. “I don’t mind you being angry, but I do mind you shouting at me, so I’m going to leave the room now and I will comes back in 10 minutes and we will think about what you can do with these big feelings.”
Finally, I know you’re doing therapy and it’s really good that you can see how you respond to him, but a lot of your post is about how upset you are, and it does sound it’s a lot about you and your emotions. That must be weird and a bit scary to see him mum get so upset, can you give him some context to your emotional response? “When people shout at me it makes me cry because when I was little someone shouted at me and it made me sad. This means I find it extra hard when you shout at me so I might get more upset than other people do.”
It sounds like you could do with thinking about how you regulate your emotions in these situations so you could share with him how you do it? “When we argue I get very overwhelmed and sad so I try to concentrate on my breathing or I might tell you I’m going into another room so I can calm down…” etc.
I would recommend ‘How to talk to kids will listen’ and ‘The book you wish your parents had read, so you don’t have to’.
good luck.