You haven't got the widget in a regular sidebar
Correct, it's just in the body-content area of that page. However, on other sites where I use s2Member, I'm able to use the shortcode in a similar way and it correctly logs the user in upon hitting the log in button.
Since the action also (correctly) specifies wp-login.php, what is happening is just that you get redirected there
Shouldn't the user be logged in when they enter their user name and password and click the Log In button?