The bane of multistep node forms are validation errors. But Drupal 7 has a cure. Not nice but a cure.
Slap #access = FALSE on form elements you dont want to see in the current step and then set up the Next button with #limit_validation_errors set to the elements you are about to see. The Prev button should get an empty #limit_validation_errors. Should field validation errors bother you, you can nuke those in hook_field_attach_validate.
<?php
define('MYMODULE_STORY_NODE_FORM_LAST_STEP', 2);


















