You are functioning well with your husband and his son and you're comfortable with your daughter and her husband. Your husband and your son-in-law don't work well together, but why should they have to meet?
Picture this; you are at a family gathering and everyone is behaving perfectly. No one is happy, however, since they are all afraid of unpleasantness. Under the surface, wrath is boiling, and what's the point of that? If one absolutely wants that sort of gathering it might be a good idea to invite some other people as well. Then people usually pull themselves together more, than if it's just the family.
Spend some time with your son-in-law and your daughter and have a nice time with them. And then be with your husband and his son separately. No need to mix them all together. Then you will get the harmonized family that you want to have.
Recipes for harmonized time spent with the family:
Those who enjoy family gatherings can arrange one. Those who want to come, do so; the others can stay at home. Everyone respects the others' decisions. A person who wants something from someone else kindly asks for that and the person being asked decides for himself/herself if he/she wants to say yes or no.