Actually most of the polls for the past 2 months showed Le Pen being and Macron being in a virtual tie with the last few polls showing Macron having a small but noticeable edge.  See, for example:

https://en.wikipedia.org/wiki/Opinion_polling_for_the_French_presidential_election,_2017#Verified_candidates

You have to go back to mid Feb. to find polls that showed Le Pen solidly and consistently ahead of Macron.

It would seem that the (recent) polls actually called this one pretty much bang-on.