Although its not clear from your screen shot how the timelines are wired up inside of your reverse and play functions, I am guessing that the function is returning execution to the next node before the animation is complete and therefore your level begins to load before the doors closed and then its a timing issue based on who finishes first.
If you copy the innards of your reverse function into your main blueprint and connect the “finished” node on your timeline to the load level does that make a difference?