Oh M.,
I can definitely feel for you. I believe anyone who's had babies can. Unfortunately, your "little sunshine" may be just that. Just because Dr's say our kids sleep an "X" number of hours... there's always an exception!!
My sister had an early riser. When he was a toddler, it wasn't uncommon for him to go to bed between 11-12 pm and wake around 5 am. He had a 1-2 hour nap in the afternoon, and that's it!! If he'd been their first child, he'd been an ONLY child! :) Good thing for her... he's a teenager now and sleeps A LOT!!
Some things to try-- have you tried him with NO naps??
Also, you said he naps in the am during the weekends... My thought is he needs those naps or he wouldn't be taking them. So, I'm thinking when he wakes up so early, put him back to bed... NO EXCEPTIONS!!! Insist he go back, don't back down!! Put your parental foot down and make him do it. It'll be hard and he'll probably cry, but keep in mind those kids who sleep until 7 am. Let that be your motivation. It may be a week of this or so-- but soon he'll understand what you expect of him.
You may even want to tell him while you're putting him in bed at night that you EXPECT him to sleep longer. Yes he's young, but it's surprising how much they do understand.
M.-- PM me. I've got questions and more ideas to help.
Thanks, and good luck!! ~ls