I feel that at almost any age, perfume is too much of a personal choice to be bought by someone else, unless they know exactly what one wants.
Obviously a voucher would be a bit of a rubbish 21st birthday gift, but taking someone shopping for perfume could be lovely.
Alternatively, you could present them with a selection of samples, with the promise of a full bottle of whichever they prefer.
Or if they’re experimentally minded, you could give them a perfume sample subscription for a year, so they’d get to experience a wealth of perfumes that will probably be unfamiliar to them.
Bloom Perfumery
offers such a service. Two other brilliant places to look would be:
Les Senteurs (old, grand, wonderful,
Sainte Cellier (new, exquisite curation)