the_password_form functions not working together

You have to control the order of execution. To do that, use the third parameter for add_filter(), the priority. A higher priority equals to later execution. add_filter( ‘the_password_form’, ‘my_password_form’, 9 ); add_filter( ‘the_password_form’, ‘wpse_71284_custom_post_password_msg’, 10 );

How to recover password from a user

You cannot recover a password, you can only reset it to something new. We have an article with several ways to do that in the documentation. Pick one of those methods. http://codex.wordpress.org/Resetting_Your_Password