Morale on fire has a specific duration (per matches)
here the list
1) Gaining a star (5* and more) > 2 to 5 matches
2) A player learns new special ability >3
3) New player in team > 3 matches
4) Player assisted 3 goals >1
5) Scoring hat trick >1
6) Winning League/Cup/CL/SL > 3/2/3/2 matches
7) Top assisted Top rated Top scorer in any competition >3
Edit ..... 30/10/2019
A player with a god morale will move to On fire if something from above will happen.
After the expiration, he will drop from on fire to superb.
All the matches of the team count till the expiration, no matter if the player would play or be in the bench.
Now, what I don't know and I will ask is if the player returns to previous situation or he drops to Superb morale.
Example :
A player is in Good morale. He scored 3 goals (1 match o.f.) or gain a star (2 matches o.f.).
After that , will he return to Good morale (he had before) or to superb ?
The last match of course affected his situation. If he didn't have any + action, had a mediocre performance or injury/card, he lost a lv.