let displayMessage = '';
doItems.forEach((item, i) => {
displayMessage += `
<li class="do__item">
<input type="checkbox" id="do_${i}" ${item.checked ? 'checked': ' '}>
<label for="do_${i}" class="${item.checked ? 'checked' : ' '}">${item.message}</label>
<button class="remove" id="do_${i}">Delete</button>
</li>`;
block.innerHTML = displayMessage;
});
Установка значения block.innerHTML должна производиться после forEach'а, а не внутри.
UPD. Кстати, а какого хрена у вас элементы с одинаковыми id (input и button)?