Exiting from one loop and get ready for another
You are never really invalidating the passwords. The statement

password1.append('1');


adds '1' to the guess, it does not change the password itself.
If you really want to invalidate the password, you should change it to
something that cannot be typed on the keypad. For example

password1.set("X");  // untypable password


Whether or not you do invalidate the previously used passwords, you
should reset the guesses once a password has been checked. This can be
done in checkPassword(), or in keypadEvent() as follows:

switch (eKey) {
    case '*':
        checkPassword();
        password1.reset();
        password2.reset();
        break;
    ...
}


BTW, all your return statements are useless, and the first
switch/case in keypadEvent can be replaced by

    if (keypad.getState() == PRESSED)


which would be easier to read.