It looks like your set session value server behavior is using the wrong trigger. You are currently using the any page post trigger, it looks like this:
if($_SERVER["REQUEST_METHOD"] == "POST") {
You will need to update the trigger so it only sets the session variable if your posted GiftMessage element is set and has a value. To update the trigger you can edit the server behavior and use the lightning bolt to point to the GiftMessage form element. If the form element is not available you will need to go to Bindings > Form Data and select the checkout page. This will get the checkout form bindings into the bindings panel on this page. You can then choose the GiftMessage form field for the trigger.
So long as you are setting the value of this element to a session variable and that session variable exists it should appear in the email where you added the session variable binding.