[proofplan]
We separate the proof into the identical-character case and the distinct-character case. When $\gamma=\psi$, each summand is $|\gamma(x)|^2=1$. When $\gamma\ne\psi$, the quotient character $\chi=\gamma\overline{\psi}$ is nontrivial, and translating the uniform sum by an element $a\in G$ with $\chi(a)\ne 1$ forces the average to equal $\chi(a)$ times itself, hence to vanish.
[/proofplan]
[step:Evaluate the average when the two characters are equal]
Assume $\gamma=\psi$. Since $\gamma: G \to \mathbb{S}^1$ is a character, $|\gamma(x)|=1$ for every $x\in G$. Therefore
\begin{align*}
\gamma(x)\overline{\psi(x)}
=
\gamma(x)\overline{\gamma(x)}
=
|\gamma(x)|^2
=
1
\end{align*}
for every $x\in G$. Hence
\begin{align*}
\frac{1}{|G|}\sum_{x\in G}\gamma(x)\overline{\psi(x)}
=
\frac{1}{|G|}\sum_{x\in G}1
=
\frac{|G|}{|G|}
=
1.
\end{align*}
[/step]
[step:Construct a nontrivial quotient character when the characters are distinct]
Assume $\gamma\ne\psi$. Define the map
\begin{align*}
\chi: G &\to \mathbb{S}^1 \\
x &\mapsto \gamma(x)\overline{\psi(x)}.
\end{align*}
We verify that $\chi$ is a character. For $x,y\in G$,
\begin{align*}
\chi(x+y)
&=
\gamma(x+y)\overline{\psi(x+y)} \\
&=
\gamma(x)\gamma(y)\overline{\psi(x)\psi(y)} \\
&=
\gamma(x)\overline{\psi(x)}\,\gamma(y)\overline{\psi(y)} \\
&=
\chi(x)\chi(y).
\end{align*}
Thus $\chi\in\widehat G$.
The character $\chi$ is not the principal character. Indeed, if $\chi(x)=1$ for every $x\in G$, then
\begin{align*}
\gamma(x)\overline{\psi(x)}=1
\end{align*}
for every $x\in G$, and since $\psi(x)\in\mathbb{S}^1$ this gives $\gamma(x)=\psi(x)$ for every $x\in G$, contradicting $\gamma\ne\psi$. Therefore there exists an element $a\in G$ such that $\chi(a)\ne 1$.
[guided]
Assume $\gamma\ne\psi$. The product appearing in the average should be treated as a single character. Define
\begin{align*}
\chi: G &\to \mathbb{S}^1 \\
x &\mapsto \gamma(x)\overline{\psi(x)}.
\end{align*}
This map is well-defined because $\gamma(x),\psi(x)\in\mathbb{S}^1$, and the product of an element of $\mathbb{S}^1$ with the complex conjugate of another element of $\mathbb{S}^1$ again lies in $\mathbb{S}^1$.
We check the homomorphism property. For $x,y\in G$, using that both $\gamma$ and $\psi$ are homomorphisms from the additive group $G$ to the multiplicative group $\mathbb{S}^1$,
\begin{align*}
\chi(x+y)
&=
\gamma(x+y)\overline{\psi(x+y)} \\
&=
\gamma(x)\gamma(y)\overline{\psi(x)\psi(y)} \\
&=
\gamma(x)\gamma(y)\overline{\psi(x)}\,\overline{\psi(y)} \\
&=
\gamma(x)\overline{\psi(x)}\,\gamma(y)\overline{\psi(y)} \\
&=
\chi(x)\chi(y).
\end{align*}
Hence $\chi\in\widehat G$.
The next point is that $\chi$ is nontrivial. Suppose instead that $\chi(x)=1$ for every $x\in G$. Then
\begin{align*}
\gamma(x)\overline{\psi(x)}=1
\end{align*}
for every $x\in G$. Multiplying by $\psi(x)$ gives $\gamma(x)=\psi(x)$ for every $x\in G$, because $\psi(x)\overline{\psi(x)}=|\psi(x)|^2=1$. Thus $\gamma=\psi$, contradicting the assumption. Therefore $\chi$ is not the principal character, so there exists $a\in G$ with $\chi(a)\ne 1$.
[/guided]
[/step]
[step:Use translation invariance of the finite uniform average to force vanishing]
Define the complex number
\begin{align*}
A := \frac{1}{|G|}\sum_{x\in G}\chi(x).
\end{align*}
Let $a\in G$ be chosen so that $\chi(a)\ne 1$. The translation map
\begin{align*}
T_a: G &\to G \\
x &\mapsto x+a
\end{align*}
is a bijection, with inverse $T_{-a}$. Therefore reindexing the finite sum by $y=x+a$ gives
\begin{align*}
A
&=
\frac{1}{|G|}\sum_{x\in G}\chi(x+a) \\
&=
\frac{1}{|G|}\sum_{x\in G}\chi(x)\chi(a) \\
&=
\chi(a)\frac{1}{|G|}\sum_{x\in G}\chi(x) \\
&=
\chi(a)A.
\end{align*}
Thus
\begin{align*}
(\chi(a)-1)A=0.
\end{align*}
Since $\chi(a)-1\ne 0$ in $\mathbb{C}$, it follows that $A=0$.
Finally, by the definition of $\chi$,
\begin{align*}
\frac{1}{|G|}\sum_{x\in G}\gamma(x)\overline{\psi(x)}
=
\frac{1}{|G|}\sum_{x\in G}\chi(x)
=
A
=
0.
\end{align*}
This proves the desired formula in the case $\gamma\ne\psi$, and together with the equal-character case completes the proof.
[/step]