The first line is a top-level binding to enter copy-mode and immediately scroll up one page. The other two add bindings within copy-mode so you can continue to scroll up or down with those keys.
I also have a small hack in my .zshrc to start scrolling up with `M-v` (like in Emacs) while at a shell prompt:
I used to do all of this type of stuff to get my copy-paste to work in tmux but honestly it's still a pita. The alternative I started using recently (zellij[1]) has copy and paste, scrollback, dump scrollback to editor etc just working out of the box with no fancy configuration required and also has a much saner session management mechanic that also works right out of the box.
I also have a small hack in my .zshrc to start scrolling up with `M-v` (like in Emacs) while at a shell prompt: