One submit button posting to multiple functions
You can't add submit handlers to form after drupal_get_form() is called, because they will not be processed.

You need to add submit handler in hook_form_alter(). If you want add this handler only in specific cases, you can add cutom parameter to drupal_get_form()

Code in block:

$form = drupal_get_form('test_form_form', 'add_pm');
$output .= drupal_render($form);
return $output;


Code in custom module:

function MODULE_form_alter(&amp;$form, &amp;$form_state, $form_id) {
   if (($form_id == 'test_form_form') &amp;&amp; ($form_state['build_info']['args'][0] == 'add_pm')) {
     // add custom submit only if form was called with parameter. 
     $form ['#submit'][] = 'pm_form_submit';
   }
}

function pm_form_submit($form, &amp;$form_state) {
  drupal_set_message('pm_form_submit');
}