Update: in the mornings I do get 'morning wood' which is strong.
Does that make a difference to the situation?
This, and the fact that you can masturbate, pretty much rules out that it's a physiological problem.
You probably just have performance anxiety, which can become a self-fulfilling prophecy. You're worried that you won't be able to get hard for sex, so you don't, and then the next time you try you're even more worried, so it's even more likely to be a problem. I used to have problems getting hard with a new partner, and it was purely psychological.
The solution is to create a low stakes situation where it doesn't matter if you get hard or not. Book a full service provider you find attractive for a mutual oily massage. Tell her you don't want sex or even HR, just the massage, because you don't want to cheat on your girlfriend (who lives in Canada). Enjoy being touched and touching her and maybe talking about sex. It doesn't matter if you don't get hard, because you're just there to enjoy a massage and to store memories for the wank bank.
You may need to repeat with the same provider a few times. Familiarity helps. After a couple of visits I predict you will be getting hard and you can move on to a session finishing with HR, then one with oral, then penetration.