I think its because when in your List function, you are telling the function to execute the printPerson function, which includes printing the persons name. Then, you call the List function and it does it again.
It seems Codecademy does this often for some reason.
Also, I don't understand the purpose of making a contactsLength variable. completely unnecessary step in my opinion.
The code works if you just don't make the contactsLength variable OR call the 'list' function