If you start from the editor - tower finds it without problems. If to compile - NullReference …
I transfer From Start to Update - the compiled runs. What kind of nonsense?
Since Player is a prefab, you can drag the Tower object into that field in the editor, so you won’t have to attempt to find it at Start. After you do, in the Inspector, click Apply to save the prefab. If you need to assign the tower variable at Start and the Tower object has a script attached, you can try