As pointed out above, an algebraic integer with absolute value equal to 1 does not have to be a root of unity. But if all the conjugates of the algebraic integer have absolute value 1, then it is indeed the case.
Let $\alpha$ be an algebraic integer with minimum polynomial $f\in \mathbb{Z}[X]$, which is monic and say of degree $n$. We can assume $n \geq 2$ otherwise $\alpha \in \{-1,1\}$. Assume all the roots of $f$ have absolute value 1. Let us concentrate on the coefficient of $X^i$: the sum of the roots taking $i$ of them each time is in absolute value bounded by ${n}\choose{i}$ by the triangle inequality. Thus the coefficient of $X^i$ is in absolute value bounded by ${n}\choose{i}$, hence for any $n$ there are only finitely many algebraic integers of degree $n$ such that all conjugates have absolute value $1$, since there are only finitely many polynomials in $\mathbb{Z}[X]$ with given bounded coefficients.
Next, consider the powers of $\alpha$. They are all algebraic integers of degree at most $n$, and furthermore all their conjugates also have absolute value $1$ since the Galois actions map powers of $\alpha$ to powers of its conjugates. Thus, the powers of $\alpha$ are elements of a finite set. This implies $\alpha$ must be a root of unity.
In the case of a finite group $G$, $g \in G$ and complex (not necessarily irreducible) character $\chi$ with $|\chi(g)|=1$ all the Galois conjugates of the algebraic number $\chi(g)$ also have absolute value $1$. Let $n=o(g)$ and $K=\Omega_{\mathbb{Q}}^{X^n-1} \subseteq \mathbb{C}$ the splitting field. Let $\mathfrak{G}=Gal(K/\mathbb{Q}) \cong (\mathbb{Z}/n\mathbb{Z})^*$. If $\sigma \in \mathfrak{G}$ and $\varepsilon$ is an $n$th-root of unity, then $\sigma(\varepsilon)=\varepsilon^m$, for some $m \in \mathbb{Z}$, with gcd$(m,n)=1$. Now, $\chi(g)=\varepsilon_1 + \cdots + \varepsilon_{\chi(1)}$, a sum of $n$th-roots of unity. Hence, $\sigma(\chi(g))=\varepsilon_1^m + \cdots + \varepsilon_{\chi(1)}^m=\chi(g^m)$. Note that $\mathfrak{G}$ is abelian and that the restriction of complex conjugation to $K$ induces an element of $\mathfrak{G}$ of order $2$. Hence, $|\sigma(\chi(g))|^2=\sigma(\chi(g)) \cdot \overline{\sigma(\chi(g))}=\sigma(\chi(g)) \cdot \sigma(\overline{\chi(g)})=\sigma(|\chi(g)|^2)=\sigma(1)=1$, which yields $|\chi(g^m)|=1$.