Ok, o que seu código faz é, ele deixa a segunda janela ser destruída. Depois disso foi embora.
Você pode impedir que a janela seja destruída (e ocultá-la) adicionando essas duas linhas no final do método init
:
secondwindow = self.builder2.get_object('window1')
secondwindow.connect('delete-event', lambda w, e: w.hide() or True)
que substitui o evento de exclusão ( documentação aqui ).
Ou você pode recriar a janela toda vez que abri-la, colocando essas linhas no início do seu método search_clicked
:
self.builder2 = Gtk.Builder()
self.builder2.add_from_file(SECOND_UI_FILE)
self.builder2.connect_signals(self)