У вас при вызове createCheckbox каждый раз создается локальная переменная i. И она каждый раз получает значение 1.
Все созданные элементы будут иметь id='1'
Надо вынести i функции
let checkboxNumber = 0;
function createCheckbox() {
var checkbox = document.createElement("input")
checkbox.type = "checkbox"
checkbox.id = `${++checkboxNumber}`
return checkbox
}