Because
- the Russian past tense is the past perfect
- the past perfect is the past tense form of the verb (eg пел) + the present tense form of the auxiliary verb
- the past tense form of the verb is a predicate adjective
- predicate adjectives requires gender/number agreement
- the auxiliary verb is the copula (быть)
- the copula is dropped in modern Russian in the present tense
(That dropped copula is what causes the confusion.)
So if we include the copula, as in older* Russian:
Он есть пел.
Она есть пела.
Оно есть пело.
Они суть пели.
Мы есмы пели.
It is analogous to Ukrainian, Serbian and so on (and even Italian and French for many verbs).
It was true for Russian copula in any situation.
Он есть инженер. Погода есть хорошая.
But in modern Russian:
Он ∅ пел.
Она ∅ пела.
Оно ∅ пело.
Они ∅ пели.
Мы ∅ пели.
Он ∅ инженер.
Погода ∅ хорошая.
The copula is dropped, but the agreement is still required.
How old is old? Wikipedia article on zero copula:
The present tense of the copula in Russian was in common use well into the 19th Century (as attested in the works of Fyodor Dostoyevsky) but is now used only for archaic effect.
Think of the French
Same holds in Italian: "è venuto" vs. "è venuta".