You are right, All Might has weakened significantly after his fight with One for All for One. It would be contradictory to show that he can still fight a powerful villain after that. However, the movie happened before his fight with One for All for One. As quoted from Horikoshi here,
"Yes, the events of the movie happen before the battle with All For One, so I want everyone to be able to watch and look forward to this since you will never see their duo move in the manga."
The movie is set after the Final Exams, so roughly between Episode 38 and 39, while the fight between All Might and One for All For One happened in Episodes 47 to 49.