Как исправить Cannot set property 'background' of undefined?
document.querySelector('.day') возвращает первый подходящий элемент. У него есть свойство style.
document.querySelectorAll('.day') возвращает список элементов (NodeList), у него нет свойства style. Надо обойти список и проставить стиль каждому.
Желание уйти от jquery похвально.
querySelectorAll - возвращает коллекцию элементов NodeList, соответственно 
[NodeList].style == undefined
NodeList[0] == element