Вы создаете второй экземпляр начального контроллера представления первой раскадровки.Этот экземпляр никогда не показывался на экране, так как он отличается от того, который уже был показан, и поэтому, вероятно, не будет отображать ваш второй контроллер вида.Вам нужен экземпляр контроллера вида, который уже показан.Лучшим способом было бы изменить реализацию на
-(void) presentSecondViewControllerFromViewController:(UIViewController *)sourceController
{
UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"second_viewcontroller"];
[sourceController presentViewController: secondViewController animated:YES completion: NULL];
}
и вызвать ее, передав контроллер представления, содержащий кнопку.