Какие синтаксические и/или технические ошибки были допущенны при написании кода?
На слабенькую троечку.
Глобальные переменные, рекурсия без необходимости, тернарный оператор вместо if, работа со стилями вместо классов, переназначение onclick вместо addEventListener со всплытием. Это только то, что с ходу в глаза бросилось.
Ну и общее впечатление отсутствия единого стиля, ощущение, что куски понадёрганы из разных примеров.
const letter = document.getElementsByClassName('letter')
const wrap = document.getElementsByClassName('wrap')
const user = users.filter((item) => item.name.indexOf(event.target.value) === 0)Почему ты называешь массивы в единственном числе?
const itemList = document.getElementById(value)
        .appendChild(document.createElement('li'))А один элемент называешь списком?

const generationLetters = (func) => {
    if (someLetters.length === 5) return someLetters;
    const current = String.fromCharCode(func(97, 122)).toLocaleUpperCase()
    someLetters.includes(current) 
        ? generationLetters(func) 
            : someLetters.push(current)
    return generationLetters(func)
}Это уже индусский код какой-то. И что тут забыл тернарник?
И в целом, почему тут всё пишется в глобальный someLetters? Эта функция генератор вопросов.

Array.from(wrap)
Array.from(letter)А это что за ужас? Зачем это делать здесь и почему не сделать это по человечески? (деструктуризация)

Короче, Rsa97 всё верно написал, считай это дополнением.