Password protected page with a form submits for me fine but for others redirects them back to the password prompt

When a user logs into a protected page, WordPress sets a cookie. We can check for the existence of that cookie with this conditional:

if ( isset( $_COOKIE['wp-postpass_' . COOKIEHASH] ) ) {
  // Do stuff. 
}

Also, you should be aware that only one password is stored in cookies at a time, to the last entry viewed.

By default, the cookie expires 10 days from creation

If you need to change

add_filter('post_password_expires', 'true_change_pass_exp', 10, 1);
function true_change_pass_exp( $exp ){
    return time() + 5 * DAY_IN_SECONDS; // 5 days
}