Don't retake the MCAT until you have:
1. Mastered the content on the exam
2. Dedicated months of time to review and test prep
3. Bettered your goal score on practice exams.
I can't emphasize this enough: med school is FULL OF EXAMS JUST LIKE THE MCAT BUT HARDER. Hours long. Covering huge amounts of content. Requiring fast comprehension of long paragraphs of dense material. Choosing between two identical-looking answers in the list of choices.
In med school or in an SMP, these exams come at you every 2-4 weeks.
Most likely with a 21 you should be considering a slow second bachelors, including retakes on any less-than-strong performance in a prereq, so that you are academically prepared for the work. Even if your GPA is competitive for med school, I'm suggesting that you need another run through the premed coursework or similar hard-ish undergrad science. Get to where you can retain the content for an hours-long multiple choice test.
And even if you break 500, getting into an SMP like BUMAMS doesn't automatically mean you're getting into med school. It might mean you're spending about $75k to get nowhere.
Put the shovel down. Put the calendar down. Get serious about what you need to do to be the exam-taker you need to be in order to not be unbelievably miserable in an SMP and/or in med school.
Best of luck to you.