What could 'two characters are terminals' mean?
It means that $a$ and $b$ cannot be further decomposed. For example we might consider the language
$$
L_1=\{r^ns^m\mid n, m \ge 0, m\ge n, r\text{ and }s \text{ are 2-character strings over } \{a, b\}\}
$$
In this language, $r$ and $s$ could be any of $aa, ab, ba, bb$, so a string in $L_1$ could be $bababbbbbb$, since with $r=ba, s=bb$ we could write it as $(ba)^2(bb)^3$. In effect, saying "$a$ is terminal" asserts that it's a character in the underlying alphabet.

The original definition of $L$ is reasonable, but rarely used in my experience. An equivalent statement would be
$$
L=\{w\in \{a, b\}^*\mid w=a^nb^m, n, m\ge 0, m\ge n\}
$$
or the alphabet $\{a, b\}$ would be inferred from context and usually wouldn't be stated. On any of my students' work, I'd accept
$$
L=\{a^nb^m\mid n, m\ge 0,m\ge n\}
$$