Почему onclick не видит функцию?
Коротко и упрощенно - на момент бинда функции к элементу функция не декларирована. А хтмл требует ее привязать. А ее нету еще...
Попробуй обернуть функцию в такую конструкцию
window.addEventListener('DOMContentLoaded', () => {
function someFunc() {}
})
А лучше оберни сюда весь js