This is not really a gapping comma, although it looks quite like one.
As what @Patrick Stevens has mentioned, it's a comma separating two coordinate adjectives.
A gapping comma indicates that you have decided not to repeat some words which have already occurred in the sentence
Although "pungent" and "giveaway odour" have similar meanings, both refer to the "alcohol" and "cannabis", but both are adjectives. It is said that
A comma should be placed between two adjectives (of equal rank) that describe the same noun
In this context, this fulfills the above condition. Although I am not sure of the name of putting a comma between two coordinate adjectives.
And no, I do no think you can write
'.... because it lacks the social stigma and pungent, AND giveaway odour of alcohol and cannabis.'
First, you are using 3 "and" in a sentence and 2 "and" to describe the same two nouns, which is quite repetitive. So you're better off using that comma in between.