Sepertinya Anda memodifikasi variabel $link di dalam loop foreach, Jadi Anda menambahkan item1 ke $link, loop melalui subitemnya dan kembali ke iterasi pertama dan menambahkan item2 ke variabel...
ganti ini
$link .= "/".$category['url_nl'];
dengan
$insidelink = $link . "/".$category['url_nl'];
(dan ubah sisa $link di dalam loop menjadi $insidelink)
Menambahkan:Ini juga berlaku untuk $startingLevel. Jangan ubah, gunakan +1 sebaris:
echo "<li>".$start." - ".$startingLevel +1.
"<a href='$link'>{$category['menu_nl']}</a> ($link)</li>\n";