How do I limit validation errors to submission buttons?
I did exactly the same but we were wrong in the usage of #limit_validation_errors.

The reason why this is failing is that we're not using properly #limit_validation_errors. This issue has nothing to do with Workflow.

During the form validation, if this property is set (validation errors are limited), Drupal core will remove any non validated form values from the form state, so only values that passed validation will be left for submit callbacks.

For Drupal 8:
http://cgit.drupalcode.org/drupal/tree/core/lib/Drupal/Core/Form/FormValidator.php#n147

For Drupal 7:
http://cgit.drupalcode.org/drupal/tree/includes/form.inc?h=7.x#n1193

My solution was to add a custom validation that will be executed at end of all validations, and in there remove all form-related errors:

/**
 * Removes all validation errors that could happen when saving a draft
 *
 * @param $form
 * @param $form_state
 */
function my_custom_draft_validation($form, &amp;$form_state) {
  $errors = form_get_errors();

  if (!empty($errors)) {
    $messages = drupal_get_messages('error', TRUE);

    // Remove error messages originated during the form validation
    foreach ($messages['error'] as $error) {
      if (!in_array($error, $errors)) {
        drupal_set_message('error', $error);
      }
    }

    // Remove all form errors
    form_clear_error();
  }
}