I think you need to give up calling them for dinner. IF he has been trained to come for nice food he will come as fast as he can.
I would call them up but SHUT the door so they can't get in then lead in each horse one by one. GEt them to do a few steps of ground work eg back or over and make them wait for dinner you need to stop making dinner time the most exciting time on the day make them work for it.
I had a very pushy oushy pony who would step over or through you to get dinner we used a whistle to bring everyone to the gate then its one by one into stables with this little pony he had to wait until he stopped wrecking my head to come in then he was made back up and move away from the pressure I was applying when I brought him into the stable I removed the leadrope but if he went to eat whilst I was in the stable I made a rucus and he stepped back until I got out of the stable.
Again you are head of herd he eats with your position if he oushes you work his ass off in the stable it only takes a few days before they get the idea