Tell me your test for the points-based medals isn't just a strict equality, which I know it is, because if you get more points than one of the "goals" you then don't obtain the medal unless you lose points, then get that exact amount of points exactly, on the dot, not even one point above. When what you should be doing is testing if the player has greater than or equal to a set number of points.
You have an == in your code somewhere where instead you should have a >=
Okay your minutes medals do seem to be working, but you gotta question everyone who has the 15 minutes and 1 hour medals but yet doesn't even have the 2000 points or even 1000 points medals yet, considering when you unlock the 5 minutes medal is around the time you're hitting 2000 points, or shortly before. And that's if you know you gotta bump into some ghosts to get your score under 2000 so then you can bring it up to exactly 2000 due to the problem mentioned above.
This is an okay first attempt, considering how young you are, but keep practicing!!