Multiple forms/pages in one hook_menu() Within hook_menu(), I added multiple (form/page)s. 

function mymodule_hook(){
  $form[...]=aray(...);
  // ...
  return $form;
}

function other_hook_form(){
  $form[...] = aray(...);
  // ...
 return $form;
}

function mymodule_menu() {
  $items['section/form1'] = array(
    'title' =&gt; 'form1',
    'page callback' =&gt; 'mymodule_form',
     'access arguments' =&gt; array('arg1 arg2'),
     'type' =&gt; MENU_CALLBACK, );

  $items['section/form2'] = array(
    'title' =&gt; 'form2',
    'page callback' =&gt; 'other_hook_form',
     'access arguments' =&gt; array('arg1 arg2'),
     'type' =&gt; MENU_CALLBACK, );

  return $items;
}


With the first Item I don't have a problem because it calls mymodule_hook(), but the second one renders the markup without &lt;form&gt; tag. So no submit/validation hooks are fired.
You should use drupal_get_form as your page callback and pass the id of your form to that. This will ensure the form is processed by Drupal.

For reference, take a look at how the aggregator module declares its form callbacks in aggregator_menu().

Example:

$items['myurl'] = array(
  'title' =&gt; 'Page title',
  'page callback' =&gt; 'drupal_get_form',
  'page arguments' =&gt; array('my_form_id'),
  'access arguments' =&gt; array('my_permission'),
);