Si ya lo dije yo, que ni me di cuenta de lo que hacía el código
Te dice eso porque ese tag script está antes del div que estás buscando. Las webs se cargan línea por línea, así que si desde JS buscas algo en el DOM que se va a cargar después, no lo va a encontrar. Hay dos opciones: o usas window.onload, para esperar a que cargue toda la página para ejcutar el código; o mueves todo el tag script justo antes de </body> (en realidad bastaría con ponerlo debajo de los divs, pero así te aseguras de que estará todo el DOM cargado).
Saludos (: