Let me offer a brief answer for now as I don't have much time today. Much of this material is from a friend's lecture notes. Feel free to ask more questions if you need further clarification.
I'll represent the group action of a group $G$ on a vector space $V$ as $G \curvearrowright V$ and the invariant subspace of $V$ under this group action as $\mathrm{Inv}_G(V) := \{v : gv = v \ \forall g \in G\}$.
If $V = \mathcal H$ is a Hilbert space and $G \curvearrowright V$ is a unitary action and $G$ acts by isometries for a quantum metric then the subspace $\mathrm{Inv}_G(\mathcal H) \subseteq \mathcal H$ is called a stabilizer code in general. The exact definition of a quantum metric is a bit involved; for starters, you can check the first two pages of the Weaver-Kuperberg paper that I linked, or I can explain it later if you wish.
The point now is that if the quantum metric under consideration is the quantum Hamming metric and $G$ is the multi-Pauli group then $\mathrm{Inv}_G(\mathcal H_n) \neq 0 \iff \text{$G$ is abelian}$. Then $\mathrm{Inv}_G(\mathcal H_n)$ is an example of what is called additive code (not the definition!). In the QCQI community, there's a tendency to conflate this with the notion of general stabilizer codes. Well, partly due to the way Gottesman et al. and subsequently Nielsen & Chuang described it in their papers and books. If you're having confusion about terminology, rest assured that you're not alone. :-)
The word "additive code" originally comes from classical coding theory. In full generality, a code $\mathcal C$ is a subset of a space of messages $\mathcal X$, i.e., $\mathcal C \subseteq \mathcal X$, equipped with a metric $d(.,.)$, carefully chosen to allow for detection and correction of errors. One major issue with this fully general case is that if you choose a radius $r$ ball around any arbitrary codeword $C \in \mathcal C$, you're not guaranteed to have an equal number of messages within each such ball. (By the way, if you need a refresher on classical coding theory, check Wootter's lectures.)
To symmetrize this scenario and to make analysis easier, a simplifying assumption is that $\mathcal X$ is abelian group and $\mathcal C \subseteq \mathcal X$ is a subgroup, s.t., $d(x, y) = d(x + z, y + z) \ \forall x, y, z \in \mathcal X$ or equivalently $||x|| := d(x, 0)$ so $d(x, y) = ||x - y||$. This means the metric is chosen to be translation invariant. It is this condition that allows us to correspond the abelian group structure and the metric structure -- a norm is an abelian case of a translation invariant metric. Such a code $\mathcal C \subseteq \mathcal X$ is an additive code. Yes, this is the definition that you were looking for.
For example, the usual Hamming distance is a metric that is clearly translation invariant, so we can see the Hamming distance comes from a Hamming norm, a value equal to the Hamming weight $||x||$, or in other words, the number of $1$s appearing in an $x \in \mathcal X$.
Furthermore, if $\mathcal X$ is equipped with a vector space structure, then it is possible for $\mathcal C$ to be a subspace (and thus, be a linear code). We can then expect a relation between $||x||$ and $||\lambda x||$ where $\lambda \in \mathbb F$ (the underlying field of the vector space $\mathcal X$). The Banach relation $||\lambda x|| = |\lambda|.||x||$ is appropriate when say $\mathbb F = \mathbb C$ or $\mathbb F = \mathbb R$ but it doesn't make much sense here. If $\mathbb F = \mathbb Z/p\mathbb Z$ or any finite field, we can instead take the Hamming relation that $||\lambda x|| {=}_{\lambda \neq 0} ||x||$. That is, we treat all non-zero scalars in the same way, or effectively take there to be no relation. We do not need to have an axiom concerning scalar multiplication
because if $\mathcal C$ is an additive code then $\mathcal C$ must be a linear code. For the field $\mathbb Z/2\mathbb Z$, linear and additive codes are the same.
Here's a useful theorem. Theorem: If $V$ is a vector space over $\mathbb Z/p\mathbb Z$ and $\mathcal C \subseteq V$ is a subgroup, then it is a subspace. You should note that this theorem is false for fields other than $\mathbb Z/p\mathbb Z$.
The point is that if a metric space $\mathcal X$ is finite, abelian and normed (as is the case if $\mathcal X$ is a Hamming space) then the balls of the same radii $r$ have the same cardinality:
$$|B(x, r)| = |B(y, r)|$$
where $x$ is the ball center and $y$ is the ball radius. This is a reflection of the translation symmetry of a group law, and in such a scenario, analysis of the code becomes much simpler.