Since the shooting code (event 19) comes after the Movement Code (event 4), as long as the L key is down, the animation will get changed right back to the SHOOT animation on every tick.
one thing you can do is move the Set Animation action in event 19 to event 23. that way the shoot animation will only show when a shot is actually fired.
however, if the player is also moving, then the very next tick the animation will get changed back to a movement animation. So it will be almost impossible to see.
you will need some kind of system to stop changing the animation for a short period of time...
you already have the firerate/can_shoot variables, so I would add a subevent under each movement event (and the idle event if you are setting the animation there as well), have the subevent check if can_shoot=0, then set the direction / animation / mirrored / speed.
(so just leave the Simulate Platform pressing actions where they are, move the rest of the actions to be under the new subevents)