Wikipedia mentions the superstrate/substrate influence of Germanic languages as a possible reason.
The syntax shows the systematic presence of a subject pronoun in front of the verb, as in the Germanic languages: je vois, tu vois, il voit, while the subject pronoun is optional – function of the parameter pro-drop – in the other Romance languages (as in veo, ves, ve).
[...]
French is noticeably different from most other Romance languages. Some of the changes have been attributed to substrate influence—i.e. to carry-over effects from Gaulish (Celtic) or superstrate—influence from Frankish (Germanic).
The same article also mentions that the subject became mandatory around 1500 (this is unsourced, though)
Another possible reason maybe has something to do that due to sound changes, in spoken form the verb conjugation is not so obvious. Normally only the nous and vous forms sound different. If you can't tell the conjugated verbs apart, I guess the subject becomes necessary.
See also the paper: From Old French to the Theory of Pro-Drop (thanks Alex B. for the link!)