Password protect pages – allow more than one password

In your functions.php you could create a shortcode that shows the link only if a valid password was supplied.
This would look like the following code (untested):

function protected_download_handler( $atts ){
    if (in_array(@$_REQUEST['password'], array('password1', 'password2', 'password3')) {
        $return = '<a href="https://wordpress.stackexchange.com/questions/191035/link/to/download/">Download</a>';
    } else {
        $return = '<form action="" method="post">
                   <input type="text" name="password">
                   <input type="submit">
                   </form>';
    }
    return $return;
}
add_shortcode( 'protected_download', 'protected_download_handler' );

And in your page you can use it by adding

[protected_download]

I’m pretty sure that there are also plugins that do what you need.