Eugh! Why do books still print commands in uppercase?
Rather than correct a variable when it goes out of bounds it's better to make it impossible for it to go out of bounds in the first place.
function processPlayerMoves()
// player one controls
if shiftkey() and paddleOneY >= 3 then dec paddleOneY, 3
if controlkey() and paddleOneY <= 402 then inc paddleOneY, 3
// player two controls
if upkey() and paddleTwoY >= 3 then dec paddleTwoY, 3
if downkey() and paddleTwoY <= 402 then inc paddleTwoY, 3
endfunction
I changed the variable names for three reasons:
1. Player one was controlling paddle two and player two controlling paddle one, that's just daft!
2. For ease of reading it's best to avoid using numbers in variable names if you can, especially at the end of the name. Here we have "one" and "two", which are the same length and only an extra two characters to write them out.
3. These variables refer to a property of an entity, the y-value of paddle one or two, so the name of the entity should come first, i.e. "paddleOneY" rather than "paddleYOne", paddles one and two are separate entities so they should be distinguished from each other before we bring in the y-value. "paddleY1" and "paddleY2" could easily be misinterpreted as the top and bottom y-values of the same paddle.
I can't answer your question of why nothing is moving because you haven't posted the full code. Functionally the code you've posted so far seems to be fine.

Formerly OBese87.