buenas,
si bien cada celda ya tiene su handler (evento), el problema es la referencia a la celda dentro del handler.
Código:
celda.addEventListener("click",function(){celda_click(celda.textContent);},false);
aquí
celda siempre hace referencia al mismo elemento en todos los handlers. en este caso, al último elemento creado. puedes intentar cambiando
celda por
this para hacer referencia al propio elemento.