[subject] + [verb] + 了 + [duration] + 了 [subject] + [verb] + 了 + [quantity] + [object] + 了
Two 了 in one sentence say the action has run for a stretch of time and is still running. The first marks the completed portion, the second says that is where things stand now.
Drop the second 了 and the stretch is over.
The first sentence is about something finished; the second is about something in progress. English marks this with the perfect, and it is the same distinction.
The implication is the same: three so far, and the evening is not over.
A stretch of not doing something uses 没 and takes neither 了.
The final 了 survives here because the state still holds; the verbal 了 cannot, because 没 forbids it.