The short reason is that it happened by accident in the reign of Edward III (r. 1327-77), Edward I's grandson. Edward II was know during his lifetime as 'King Edward, son of King Edward', but this didn't really work for his son, so he (Edward III, that is) became known as 'the third Edward'. Although this wasn't intended to start a precedent for regnal numbering, merely to differentiate three successive kings named Edward, it ended up having that effect.
For the record though, even in Edward I's time, it was well know that he wasn't the first king of England named Edward - he was explicitly named by his father, Henry III, in honour of (Saint) Edward the Confessor. There was also, of course, another Anglo-Saxon king named Edward, the little known Edward the Elder (r. 899-924), Alfred the Great's son and heir [and Edward the Martyr, see below]. So if we were to follow a strictly correct regal numbering: Edward the Confessor would be Edward II III; Edward Plantagenet, Hammer of the Scots would be Edward III IV; Edward son of Henry VIII would be Edward VIII IX; and David Windsor would have abdicated in scandal with the regnal name Edward X XI. One of those funny little accidents of history!
Edit: Drat, I forgot about (yet another) little-known Anglo-Saxon Edward, Edward the Martyr (r. 975-8), so called because he was murdered after a very short reign, probably by partisans of his half-brother Aethered ('the Unready'); he was venerated as a saint at his tomb in Shaftesbury Abbey within a few years of his death. I've amended the numbering above!