From 1931-1934 at the age of 36-39 Ruth hit 46, 41, 34, and 22 for a total of 143 homeruns. Bonds during the same age hit 73, 46, 45, 45 for a total of 209.
Ruth from the age of 24(when he became an outfielder) to 30 hit 289 homeruns. During that same age span Bonds hit 227. From the age of 31 to 35 you said Ruth hit 256, Bonds hit 202.
If you look at those stats Ruth has hit more homeruns than Bonds from age 24 to 35. The only time Bonds has hit more homeruns than Ruth was from age 36-39. Even if you add the homeruns Bonds hit from his rookie year at age 21 to 30 he would only have 292. Ruth although he was a pitcher from age 21-23 still hit 16 homeruns and that would make his total 305. You already mentioned that Ruth had less at bats.
Hank Aaron from age 36-39 had 159 and Willie Mays had 86.
Since baseball is a game of stats and you brought up some I thought I would give all of it not just a part of it.
Check this
link for tha stats.