How Brits do titles confuses me, but if the father (when alive) was a marquess, why wasn't his son an earl instead of a viscount?
It depends on what titles the father has. The title holder uses the highest, their eldest son the next highest, and so on. For this family they only have Marquess, Viscount, and Baron so it goes father, son, and grandson.
Other family might not use the next highest because it sounds to similar to the main title. The Duke of Westminster is an example of that because the next highest title he has is Marquess of Westminster but because it’s too confusing the heir uses the third highest Earl Grosvenor. The grandson uses Viscount Belgravia and while they have a Barony (Baron Grosvener) it’s not used for a great-grandson because it’s too confusing with the Earl.
Basically it’s weird and confusing and there’s always a decent chance that each family does something a little bit different.