Redirect user to same page on login
Take a look at the implementation in user_login_block(), particularly this line:

$form['#action'] = url(current_path(), array('query' =&gt; drupal_get_destination(), 'external' =&gt; FALSE));


This will add the destination parameter to the URL, which takes precedence over any other arguments passed to drupal_goto() (like $form_state['redirect']).
Depending on how you create your modal, the easiest way would therefore be to simply append the destination argument for the current page to the form action.