so, you're totally right about what $\mathbb{Z}/m\mathbb{Z}$ is. it's like you've got these buckets, or classes, for all the integers based on their remainder when you divide by $m$. for $m=7$, you have the seven buckets:
$$ [0]_7, [1]_7, [2]_7, [3]_7, [4]_7, [5]_7, [6]_7 $$
each bucket $[a]_7$ holds all the numbers that are congruent to $a$ modulo 7.
now, a complete set of residues modulo $m$, let's call it $R = \{r_1, r_2, \dots, r_m\}$, is just a collection of $m$ regular integers. the only rule is that no two integers in that set should be congruent to each other modulo $m$. so, if you pick any two different guys $r_i$ and $r_j$ from your set $R$, then $r_i \not\equiv r_j \pmod{m}$.
your question was, does this set $R$ have to be $\{0, 1, 2, \dots, m-1\}$?
and the answer is nope, it doesn't have to be. that set $\{0, 1, \dots, m-1\}$ definitely is a complete set of residues. it's got $m$ things in it, and they're all different modulo $m$ (like, 3 isn't congruent to 5 mod 7). it's usually the first one everyone thinks of, and sometimes it's called the least non-negative complete set.
but why can other sets work too? well, the main idea is that a complete set of residues just needs to have one number from each of those buckets (the congruence classes). the set $\{0, 1, \dots, m-1\}$ picks the simplest number from each bucket (the actual remainder). but you could pick any number you want from each bucket!
let's look at your example $R = \{0, 2, 4, 6, 8, 10, 12\}$ for modulo 7.
it has 7 numbers, which is good. are they all different modulo 7? let's check their remainders:
$\begin{align*} 0 &\pmod{7} \text{ gives } 0 \\ 2 &\pmod{7} \text{ gives } 2 \\ 4 &\pmod{7} \text{ gives } 4 \\ 6 &\pmod{7} \text{ gives } 6 \\ 8 &\pmod{7} \text{ gives } 1 \quad (\text{since } 8 = 1 \times 7 + 1) \\ 10 &\pmod{7} \text{ gives } 3 \quad (\text{since } 10 = 1 \times 7 + 3) \\ 12 &\pmod{7} \text{ gives } 5 \quad (\text{since } 12 = 1 \times 7 + 5) \end{align*}$
the remainders we got are $\{0, 1, 2, 3, 4, 5, 6\}$. see? we hit every single possible remainder from 0 to 6 exactly once. that means the original numbers $\{0, 2, 4, 6, 8, 10, 12\}$ must be pairwise incongruent modulo 7. each one belongs to a different bucket.
so, $\{0, 2, 4, 6, 8, 10, 12\}$ totally works as a complete set of residues modulo 7.
think of it like this: you have 7 bins, labeled $[0]_7$ to $[6]_7$. a complete set of residues is just a set you make by taking exactly one integer out of each bin.
- $\{0, 1, 2, 3, 4, 5, 6\}$ takes the smallest non-negative integer from each bin.
- $\{0, 2, 4, 6, 8, 10, 12\}$ takes $0$ from bin $[0]_7$, $8$ from bin $[1]_7$, $2$ from bin $[2]_7$, $10$ from bin $[3]_7$, $4$ from bin $[4]_7$, $12$ from bin $[5]_7$, and $6$ from bin $[6]_7$. it still grabbed one from each bin.
here are a couple more examples for $m=7$:
- $\{7, 1, 9, 3, 11, 5, 13\}$. if you check their remainders mod 7, you get $\{0, 1, 2, 3, 4, 5, 6\}$.
- $\{-3, -2, -1, 0, 1, 2, 3\}$. their remainders mod 7 are $\{4, 5, 6, 0, 1, 2, 3\}$.
both of those have 7 numbers, and they're all different modulo 7.
so yeah, you weren't wrong about the basics at all. the only mix-up was thinking that $\{0, 1, \dots, m-1\}$ was the only option for a complete set of residues. it's just the most standard one. any set of $m$ numbers that covers all the different remainders modulo $m$ works.