I agree with Gina. Part of it depends on how much total sleep he's getting each day - including how many naps and for how long.
Anything you can do to load him up with fiber and protein before bedtime should help.
But if you've been working at this. I'd slowly push his bedtime later.
Some of it may have to do with the change in seasons and sunlight. Try to use the weather to your advantage. Get him outside to crawl or toddle. Make him work hard to get tired. Take him for a nice stroll after before/dinner if you can and then after dinner keep it quiet, dark, etc.
NO sitting in front of the tv or anything stimulating.
Our youngest is waking earlier and earlier now too. I think it's partially because of the sunlight pouring into his room. And partially because he's outside so much now he's crabby and falling asleep earlier, which means he's waking earlier.
After 3 kids I can tell you, some kids just DON'T need as much sleep as others. That's why books have ranges.
I've learned that if they're happy and engaged during their wakeful periods it's enough sleep. If they are crabby, yawning or zoning out, they are tired.
Best wishes.