Ecco vedi, il problema e' che tu fai extract() che va a sovrascrivere l'array esterno $NOME con la variabile estratta dai risultati della query. Quindi dopo il primo giro $NOME non e' piu' un array e tutto il codice fallisce. Comunque devi cercare di tenere il codice piu' ordinato, magari separando le azioni creando funzioni specifiche, o anche creando prima array con i dati per poi stampare l'ouput HTML tutto alla fine, continuando cosi' uno script diventa impossibile da mantenere molto presto.
Corollario: la funzione extract() PUO' essere utile, ma importare nomi di variabili senza fare estrema attenzione puo' causare un sacco di problemi. In generale, specialmente all'inizio quando non si ha molta esperienza, eviterei extract() come la peste.