Since the tank is for your son, I'm guessing you want fish that are easy to care for and will provide visual interest through activity and color. You're not trying to recreate a specific biotope or trying to breed the species you have, so I think you're on the right track.
Stick with neon tetras. They've been bred in captivity a lot longer than cardinals and are a lot more tolerant of varying water conditions, including relatively hard water. Even captive-bred cardinals can still be picky about water conditions. Neons are usually hardier, in my experience.
Replace the diamond tetras with platies, 3 or 4 males and 6 to 8 females. You could get a variety of bright colors and platies are active. You already have two schooling species in the neon and candy cane tetras, so I think the platies would add another contrasting element to the tank.
Just about any fish will pick at shrimp, even smaller fish like the neons. I wouldn't be surprised if the gourami and tetras have been picking at the ghost shrimp and you just haven't seen it. Since fancy shrimp like the rilli can be expensive, I'd stick with ghost shrimp.
I agree that a school of 5 or 6 of each cory species would be ideal. However, availability can be an issue. Over the years, one thing I've noticed about cories and schooling is that they're flexible and usually will readily school with other species. I've often kept schools of mixed species because I picked up the last individual of this species at pet store A, the last two of another species at store B, etc. until I had 10-12 individuals of four or five species, and they would school nicely. So if you can't get more julii or panda cories right away, adding a school of another species (say green cories, C. aeneus) would help your current cories feel more secure.
The last thing I'd suggest is some nerite snails. They are large, fairly cheap, long-lived and colorful. They are some of the best algae eaters I've ever had, and won't multiply out of control like other snails.
WYite