Tworzysz tylko 1 element a potem po prostu modyfikujesz jego zawartość.
Napisałeś dobry bloczek kodu:
element *e = new element;
e->nazwisko = "Borowiec";
e->nastepny = start;
start = e;
Muszisz go tylko dokładnie powtarzać, a masz różne odstępstwa, brak drugiego new, jakieś dziwne podstawienie NULL itp.
Pętla wypisujące też jest błędna. Po co za każdym razem podstawiasz początek listy?
Takie struktury dynamiczne (listy, drzewa itp) fajnie jest zobrazować sobie odpowiednim rysunkiem.