I had this exact same issue happen when I implemented my custom Character Movement Mode for climbing.
This is cause when the client side character is constantly moving differently then the server side character and the predictive movement in the Character Movement Component is trying to synch them up. This constant synch up looks like jittery movement.
I was able to fix my issue by always following this pattern for multiplayer movement:
Make an RPC call from the client to the server requesting some kind of movement. In my case it was to enter climbing mode. Then have the server side verify if this is allowed and if it is, set a replicated variable with a rep notify. In my case this was the IsClimbing boolean. Then let the value replicate from the server back to the client (this is automatic). When the rep notify is called on the client, then you can adjust movement related settings (movement speed in my case) if needed. However, any actual movement like Set Velocity or Add Movement type of actions should only happen on the server and never on the client. The goal is to keep the movement in synch so that the server isn’t constantly correcting the position of the client.