@futurebird I address this issue by giving students a working program and have them purposely make mistakes to see what happens: https://langintro.com/comsc020/lets-think-python.pdf (page 22) You might even want to make a contest for “who can get the most error messages/ weirdest error message with a mistake in one line?”
As for looking at the wrong line for the error, I use the analogy of buttoning your shirt wrong. You find out it’s wrong when you run out of buttons at the bottom of the shirt, but that’s not where the error really started. (https://youtu.be/kJ4FGD2sQzE)