If it works in singleplayer, then it sounds like your moving platforms are not synchronized between server and client, so they do not appear on client at the same place as they are on server.
Generally when this happens there is a slight movement hiccup when the client thinks he is landed but the server corrects him saying he’s falling down below. Providing a video of the issue would help confirming that is the case.
As for the resolution, it obviously depends on how you implement the movement. If you are using Timeline, iirc you should to ensure the following points :
- enable replication in actor properties
- disable movement replication in actor properties
- enable replication in timeline properties