I shall talk in terms of character degrees. We denote by $\text{Irr}(G)$ the set of irreducible characters of $G$. I will prove that, indeed, the irreducible characters of $G$ are all linear or $G$ has $3$ linear characters and $2$ irreducible characters of degree $3$.
If $G$ is abelian then necessarily $\chi(1)=1$ for each $\chi\in\text{Irr}(G)$.
If $G$ is not abelian, since $\chi(1)$ divides $|G|$ for every $\chi\in\text{Irr}(G)$ and $\sum_{\chi\in\text{Irr}(G)}\chi(1)^2=|G|=21$ then necessarily $\chi(1)\in\{1,3\}$.
In this case, there exists at least one $\chi\in\text{Irr}(G)$ with $\chi(1)=3$, as $G$ is nonabelian. The complex conjugate of an irreducible character is an irreducible character. Hence, $\overline\chi\in\text{Irr}(G)$. To prove the statement it suffices to check that $\chi\not=\overline\chi$.
Suppose that $\ker\chi\not=1$. Then
it holds that $G/\ker\chi$ is a group of prime order. Now, since $\chi\in\text{Irr}(G/\ker\chi)$ and $G/\ker\chi$ is abelian it follows that $\chi(1)=1$, which is a contradiction. Thus, $\ker\chi=1$.
If $\chi=\overline\chi$ then for every $g\in G$ it would hold
$$\chi(g)=\overline\chi(g)=\chi(g^{-1}).$$
Since $\ker\chi=1$, this yields that $g=g^{-1}$ and hence $g^2=1$ for all $g\in G$. But this implies that $G$ is abelian, which is a contradiction. Hence $\chi\not=\overline\chi$ and we are done.