Причина, по которой это происходит, заключается в том, что по умолчанию ваш поповер отключается каждый раз, когда происходит касание вне самого поповера; Само событие касания никогда не передается кнопке, поскольку оно «принадлежит» UIPopoverController. Как только это произойдет, вам нужно снова нажать кнопку, чтобы снова выскочить.
Лучшим решением было бы сохранить указатель на UIPopoverController и отправить NSArray с кнопками, от которых вы хотите отклонить / выскочить поповеры на контроллер.
Затем в обработчике для каждого из них проверьте наличие поповера. Если это так, отклоните его и вставьте всплывающее окно для кнопки.