Проблема в том, что вы все время проверяете только первый элемент. Сразу после ввода вашего первого элемента (и прерывания цикла, пока (1)) вы перейдете ко второму.
Представьте, что у вас есть в списке arrayList
"hello", "bye"
Вы будете внутри цикла до тех пор, пока не отправите сообщение первому элементу ("привет").
Решение:
while(true)
{
System.out.printf("Customer name: ");
String customerName = scanner.next();
if (accounts.contains(customerName)){
System.out.println("You entered " + customerName);
break;
}
else{
System.out.println("Please enter a valid name");
}
}