lcd screen showing blocks even though wiring is correct

None of those photos allow us to unambiguously follow each wire from the LCD back to the Arduino. We have to be able to do that in order to verify your wiring.

You should also check the continuity of each of those jumper wires, especially if they are inexpensive imports.

Don