wp_mail is sending two emails when used after retrieving session data

It sounds like you don’t have your code wrapped into an if statement that’ll check it only gets executed if the form was actually submitted, i.e. it gets run when you first view the page (GET) and again when you submit the form (POST). You can use the below snippet to ensure that the e-mail is only sent when the form has been submitted:

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $first_name = $_SESSION['first_name'];
    $last_name = $_SESSION['last_name'];
    $phone_number = $_POST['phone_number'];
    $message = $first_name . $last_name . $phone_number;
    wp_mail($myemail,"Email sent",$message);   
}