"Хуяк-хуяк" решения:
g.scale = scale;
g.addEventListener("click", faunaAdd); //внутри faunaAdd использовать this.scale
g.addEventListener("click", faunaAdd.bind(this, scale)); //заодно и перепривяжем this
g.addEventListener("click", function(scale){
return function(){
faunaAdd(scale);
}
}(scale) ); //хардкор classic
...
А как делать нормально - зависит от конкретной ситуации.)
И да, в вашем случае не "передаётся имя, которого нет", а происходит где-то после изменение переменной.