Quando chiami la seconda sscanf() per leggere il secondo nome, fai uso sempre dello stesso puntatore "stringa" che hai usato per leggere il primo. Con la prima lettura, "stringa" punterà ad una certa stringa letta da tastiera, ad esempio "nome1", e viene poi assegnato l'indirizzo a "stringhe[0]"; con la seconda, l'area di memoria puntata da "stringa" sarà aggiornata a "nome2", ma allora anche "stringhe[0]", che puntava alla stessa area, punterà ora a "nome2" e non più a "nome1", che è stato cancellato... è per questo che ti viene stampato due volte lo stesso nome.

Sembra contorto, ma ragionandoci un po' sopra risulta essere addirittura ovvio.

PS: per cortesia, posta il codice usando i tag CODE come previsto dal regolamento di sezione, altrimenti non si capisce nulla.