And I can see that going to St. Louis is very out of your way. The only leg that is really pushing it is Minneapolis to Mt. Rushmore at over 650 miles. It's do-able and you do have plenty of days built into your trip where you're not driving so you should be rested for the long drive. But you will want to leave Minneapolis quite early that day so you don't get into the Rushmore area much later than you'd like.

Grand Canyon is a 3-4 day weekend trip from San Diego. It makes sense to save this for another time.

And it's only about 500 miles from Zion to San Diego. You could stay another night in Zion and go all the way to San Diego the night day, or go to Vegas for one night. Whatever you prefer.

It sounds like you have a great trip planned. Enjoy!