Rashi resolves this by bringing in a 3rd text (besides the Number text and the Judges text already mentioned). In Exodus 2:18-21
18 When they (the 7 sisters) came to their father Reuel, he said, “Why have you come back so soon today?” 19 They said, “An Egyptian saved us from the shepherds, and what is more, he even drew water for us and watered the flock.” 20 So he said to his daughters, “Where is he then? Why is it that you have left the man behind? Invite him to have something to eat.” 21 And Moses was willing to live with the man. And he gave his daughter Zipporah to Moses.
Now let us revisit all the verses
Exodus explicitly states that Tziporah was Moses' wife and the daughter of Reuel, implying Reuel is Moses' father-in-law
Numbers uses the phrase "Hovav the son of Reuel the Midianite, the Father-in-law of Moses". It doesn't matter what you do with commas. There is a serious problem here in that Reuel is already identified in Exodus as Moses father-in-law. This raises the question of who chovav is.
Judges clearly states "Chovav, Moses father-in-law"
To resolve the contradictions, Rashi interprets Exodus metonymically:
Grandchildren frequently (metonymically) refer to their grandparents as their parents
Note: This is use of metonymy and not specific to any language; it would be a universal phenomenon
Thus Rashi's resolution is as follows:
Moses married Tziporah.
Tziporah was daughter of a man called Jehtro, Jether, and Chovav and therefore these are the names of Moses father-in-law.
Reuel was the father of Moses father-in-law.