"Friends" is the wrong word to use. They aren't his friends. Guys shove each other or call each other names in a fairly evenly distributed fashion, and they stop when someone is visibly upset - if they're friends. If your son is being targeted and nobody else is, and they're not stopping when he gets upset, they aren't friends. They're bullies.
I'd make sure your son knows that retaliation is not a failing on his part. Very often the school will trot out the line "You should just ignore them" or "You mustn't let them make you angry". Which is rubbish. You can't prevent your own emotions, and ignoring them encourages them. Tell your son that you love him and you're proud of him, and that standing up to bullies is a very brave thing to do.
As a matter of urgency, I would encourage him to look for friends elsewhere. In school if possible, out of school if not. Encourage him to try new activities if you can possibly organize it - things like sports, especially things like karate, fencing etc are great for a kid that age. Scouts would also be a good option. Anything where he can meet people his own age or a little bit older, find male role models and generally have better luck finding friends. Being able to work out some of his anger physically might also make him happier, even if it's just something like tennis.
Lastly, arrange a meeting with whoever his teacher is, or head of year, or head of pastoral care, whichever. Say clearly and calmly that your son is a sensible boy who doesn't just attack people for fun. He's responding to a sustained campaign of harassment in the only way open to him, in the absence of effective intervention by the school itself. Say that you understand that violence doesn't help them, but that your son also has a right to defend himself, and to try to disincentivise further bullying any way he can, and that ignoring it isn't going to be an effective deterrent if the teachers are not implementing any kind of plan to deal with it. Above all, keep calm, stay professional as much as possible, and don't take anything the teachers say as a personal attack on yourself or your son. They're professionals who genuinely do want to help, 99% of the time, but they are under huge amounts of strain and pressure, and your son being in fights isn't something they want to have added to their list of problems. Try to agree on solutions together and schedule a follow up meeting in a week or two, to re-evaluate the progress or lack thereof.
From my personal experience as a bullied child, it took two major fights before the bullying dropped to an acceptable level. One with my own classmates, when one ripped a page out of my book, and the second on the bus back from school, when I was being bullied by kids from a different school. Both times, I attacked first after "snapping" just like your son has, and I managed to get in some very solid punches to the face before being pulled off them. After that, the bullying dropped from near constant to rare. The teachers both times told me I was in the wrong, but it turned my life from living hell into tolerable.
Your mileage, may of course vary, but best of luck.