Adding multiple buttons on node submit form - every button submits the form
If you leave $form['#submit'] unset or empty then drupal_prepare_form will try to replace it with a submit handler provided by the base form:

if (!isset($form['#submit'])) {

// Ensure that modules can rely on #submit being set.
$form['#submit'] = array(

);

// Check for a handler specific to $form_id.
if (function_exists($form_id . '_submit')) {
  $form['#submit'][] = $form_id . '_submit';
}
elseif (isset($form_state['build_info']['base_form_id']) &amp;&amp; function_exists($form_state['build_info']['base_form_id'] . '_submit')) {
  $form['#submit'][] = $form_state['build_info']['base_form_id'] . '_submit';
}


If you're submitting a node form then $form_state['build_info']['base_form_id'] . '_submit' will be equal to node_form_submit, which is why it's being called.

In order to prevent node_form_submit from being called, you'll need to provide a $form['#submit'] handler, or define FORMID_form_submit, which takes the form NODETYPE_node_form_submit for nodes.