willc is absolutely right. A set and constant schedule is absolutely crucial for kids these days.
My son had a horrible time sleeping at night in the first two years until we enforced a regular schedule. He’s now 9 and unless we’ve been out and had ice cream or allowed some caffeine he still is out by 8 or 9 o’clock.
The one thing I would disagree with is the activity before bedtime. Wrestling gets my son so worked up it actually counters his sleepiness. We get in activity before dinner, not after. After dinner, it’s time to read or have some other quiet time, then we do the normal bedtime activities and read together or tell a story. Of course all children are different, so your mileage may vary.
The critical component is no caffeine at all. To this day we rarely allow any caffeine, even during the day. It changes his demeanor dramatically. We’re a little more relaxed with sugar as that can be burned off, but we don’t allow it after a certain time unless it’s very limited (desert is usually sugar free pudding or something similar.)
If all else fails, give him a whiskey.