Another way to solve this is to sort the family into three generations and check that the role list needs nothing more than a small family spanning those three generations.
Every phrase in the question now has an owner: two fathers (generation 1's father and generation 2's father), two mothers (generation 1's mother and generation 2's mother), four children (the generation 2 son counts as a child of generation 1, plus the three generation 3 kids), three grandchildren (generation 3), one brother and two sisters (generation 3), two sons and two daughters (spread across generations 2 and 3), and one father-in-law, one mother-in-law, one daughter-in-law (generation 1 paired with generation 2's wife).
Let's summarize:
So exactly 7 people attended the reunion.