Если я правильно понял, и вы хотите проверить, нажаты ли обе кнопки, и только потом выведите «Bye». Вы можете создать 2 логические переменные для кнопок 1 и 2, а затем, если обе переменные имеют значение true, напечатайте. Примерно так:
def wait_for_button(button1,button2):
button_pressed1=False
button_pressed2=False
print ("Hi")
while not button_pressed1 and not button_pressed2:
if button1.read():
button_pressed1=True
if button2.read():
button_pressed2=True
print ("Bye")
Таким образом, не имеет значения, какая кнопка будет нажата первой, после того, как обе были нажаты в любом порядке, while l oop завершится, и функция напечатает «Bye».