Probably a big part of the issue is being indoor - an entire tom left to his own devices would roam miles in search of totty and defending his territory, and no doubt get into scraps on the way. I know when I am calculating calorie intake for humans, you take the BMR (calories needed for survival) and multiply by the activity level, roughly double for someone with an active job or who keeps fit.
That's not meant as a criticism as I am in the same position, Noah has no waist!
Obviously you are doing right for your boys' health by neutering and keeping them safe indoors, but it might mean that we are overfeeding slightly for the level of activity they are doing?