Patrick is a timeless classic. It can never go out of fashion. It is a perfect compliment to equally tasteful
Gabriel. You did a wonderful job.
Bottom line: I would keep calling him
Gabriel and use the Spanish pronunciation. If you live in Spain then using anything but the Spanish pronunciation is swimming against the stream. The British, on your trips/vacations, will understand.
I think it's adorable that your grandfather calls him
Patrick. Let that be his special name for your son; a private understanding that only "the Patricks" are in on.