I'm afraid I'll contradict here & say the reason you aren't getting a 7am WU is because his nap is too early starting at 12pm most days. I had a similar experience with my DS, he was napping at 11-11.30am for 2hrs most days, bed 6.30-7pm & he would wake 5.30ish. I felt he was OT because his nights were short, but in fact it was the early nap that encouraged the earlier wake & which kept his nights short. I pushed it gradually later, 15mins each week until his wakeup time got a bit later. We did this for a while:
Up: 6.30-7ish
Nap: 12.30-2.30
Bed: 7.30
then at around 20 months it went to this:
Up: 7/7.15
Nap: 1-3
Bed: 8pm
As he's got older his morning has got longer but his afternoon has stayed the same at 5hrs A time after a 2hr nap. The downside: I've had to accept that a later nap meant he needed a slightly later bedtime, but it really did improve his wakeup time & in our house, we'd rather have an hour less evening time than be up at 5am! Now at 2yrs old, he still does the above routine, is in bed before 8pm but is usually asleep nearer to 8.30pm. For ages we tried capping his nap shorter in order to have him asleep earlier but he got so very OT. So for my DS, this works better, he still gets a good 10.5hrs overnight & a nice long 2-2.5hr nap in the day.
So, for your DS, I would suggest first of all try pushing the nap later, very gradually 15mins per week until its consistently at 12.30pm & possibly even 1pm. If you find he is no longer tired enough to fall asleep at 7pm then you have 2 choices - do a slightly later BT, or if you would prefer to keep a 7pm BT (which I would completely understand!) cut the nap slightly, 15mins at a time & see if a combination of slightly later & slightly shorter nap sorts things out.
HTH.x