Great advice from @lvvcsf. I’ll just add that med schools also like to see many hours of community service, including a lot in the medical field, i.e. EMT volunteer, etc. I believe one pre-med advising meeting suggested 1400 hours total (and often students do some of this the year or so after graduation, while applying). So consider that. It’s great to get an early start.
In my mind, for a high-stat student, like yourself, it would generally work out that a school with a 40% acceptance rate, would be a safety, or nearly so, unless there was a specific advantage or disadvantage (like geography, etc.) that made it a little more difficult or easier. Holy Cross would fit your academic interests very well. Great for IR, great for pre-med. Overall acceptance rate is in the high 30s, though RD is lower. So probably more of a match, but your stats are high end of range and being full pay would be an advantage. But anyway,
What about Miami of Ohio, mentioned above? Here’s last year’s merit aid chart. Note that it super-scores for admission AND aid. So if you could get to the top line, you’d be ELIGIBLE for very significant aid.
http://miamioh.edu/admission/merit-grid/
Two out-of-the-box ideas, because, why not:
Creighton University: Right next to downtown Omaha, which is a dynamic, prosperous (Warren Buffett) city with a very popular historic entertainment district (Old Market) and med school, so you’d have access to internships, etc.; mid-sized university; terrific basketball and they play the College Baseball World Series there every year. Not sure about financial aid, terrific midwestern school and you’d be a strong candidate
University of Kansas: Outside the most competitive state flagships (UNC, Michigan, UVA, etc.), it strikes me as an interesting choice. Lawrence is a great college town, nice campus on top of a hill overlooking plains all around, school has a medical school, though not in Lawrence, Final Four basketball, has honors program:
https://honors.ku.edu/first-year-experience
Good luck!