herolulu it could be that even if you copied all keys from one animation, when pasting it into another the movement is still incorrect. This could be caused by keys absent in your first animation but present in the next one. To ensure that what you paste looks exactly the same in the target animation there are a couple of ways:
A brutal one that creates many extra keys consists in selecting all the bones then pressing CTRL+L (CMD on mac) to key all of their transforms. You would then need to clean up the animations to remove the unnecessary keys.
A second method that only adds the keys necessary in the second animation consists in copying all of the frames from the first animation, then in the second animation pushing the already present keys forward so that there's enough room at the beginning to accomodate all of the first animation keys.
Paste the first animation keys, then press the spacebar to deselect and make the whole dopesheet visible,
now you can create the missing keys by pressing CTRL+SHIFT+L (CMD on mac).
With all the necessary keys in place, you can select the frames that belong to the first animation, cut them, (you can also undo after copying) then paste them at the desired point of the animation once its original timingis restored.