Ciao, ci sono un po' di cose da correggere.
1 - La variabile id_utente dentro il ciclo è definita in modo globale perché non hai usato alcuna dichiarazione. Puoi usare const o let per definirla a livello di blocco.
2 - Per applicare programmaticamente una funzione ad un evento è meglio usare addEventListener() piuttosto che passare attraverso il setAttribute().
3 - La variabile che hai definito dentro quella stringa, per come hai applicato quell'evento, viene di fatto letta come variabile globale, fuori dal ciclo, perché passa attraverso l'evento click definito come attributo HTML.
Prova a correggere in questo modo, secondo quanto ho indicato:
codice:for ( const tr of tr_array ) { const id_utente = tr.querySelector('[data-th="ID_utente"]').innerText; campo_bloccato = tr.querySelector('[data-th="bloccato"]'); campo_bloccato.addEventListener('click', function(){ alert('num:'+id_utente) }); }