Sometimes it will show 100% of activities are complete but if the completion sync isn't done running or actual course completion isn't set (not the problem here), it won't move to past. I've seen courses move to past upon completion before the end date (I have one that does that now...or maybe there isn't an end date...I'll have to look at that).
Go to the course widget (administration stuff) and choose More. Go to Reports and click course completion. If the final check (course complete) is checked, they should be good. If that doesn't check--maybe the completion sync isn't running? You might check cron at the site level.
I'm just going to say wow...really, completion is achieved by doing any one of those? I've been managing security awareness trainings for more than 10 years and our content owners always want all activities complete. Is it possible you've got other completion criteria (teacher completes, other course completion, grade, etc)? That could prevent 'completion', too.