SimonG: every sale must be done under a proper licensing agreement. Maintaining an expiring date on those codes gives them some needed security.
I don't see how. Either GOG have the rights to issue the licence at the time the voucher is redeemed, or they don't.
If they do, there's absolutely no reason for them to inconvenience the user (or worse, cause them to abandon the process entirely!) by telling them that their gift has expired.
If they don't have the rights, the expiry date is
still useless, because GOG still need to account for any (still-valid) unredeemed vouchers purchased within the past year, and
that problem is exactly the same when you remove the expiry dates altogether.
As far as I can see, the expiry date just doesn't enter into it.
And if the license can be dealt with at the time of sale rather than when the gift is "redeemed" (and ideally it should be, IMHO), then none of the above should be a factor, as purchasing a gift would be no different to purchasing the game for yourself.