[proofplan]
We fix a left Haar measure $\mu$ and define $\Delta(g)$ as the scalar by which the pushforward of $\mu$ under right translation by $g$ differs from $\mu$. The existence and uniqueness of this scalar follow from the standard uniqueness of left Haar measure up to positive scalar. The homomorphism identity comes from comparing the pushforward by $R_{gh}$ with the successive pushforwards by $R_g$ and $R_h$, continuity follows by testing against one compactly supported [continuous function](/page/Continuous%20Function) of nonzero integral, and the final equivalence is exactly the assertion that all right translations preserve the chosen left Haar measure.
[/proofplan]
[step:Define the modular scaling factor using uniqueness of left Haar measure]
Let $R_g:G\to G$ denote the smooth right translation map
\begin{align*}
R_g:G&\to G
\end{align*}
\begin{align*}
x&\mapsto xg.
\end{align*}
For each $g\in G$, define the pushforward Radon measure $(R_g)_*\mu$ on $G$ by
\begin{align*}
(R_g)_*\mu(E)=\mu(R_g^{-1}(E))
\end{align*}
for every Borel set $E\subset G$.
We first check that $(R_g)_*\mu$ is left invariant. For $a\in G$, let $L_a:G\to G$ be the left translation map $L_a(x)=ax$. Since $L_a\circ R_g=R_g\circ L_a$, for every Borel set $E\subset G$ we have
\begin{align*}
(L_a)_*(R_g)_*\mu(E)=(R_g)_*\mu(L_a^{-1}(E)).
\end{align*}
By the definition of pushforward measure, this is
\begin{align*}
\mu(R_g^{-1}(L_a^{-1}(E))).
\end{align*}
Since $R_g^{-1}\circ L_a^{-1}=L_a^{-1}\circ R_g^{-1}$ and $\mu$ is left invariant, we obtain
\begin{align*}
\mu(R_g^{-1}(L_a^{-1}(E)))=\mu(L_a^{-1}(R_g^{-1}(E)))=\mu(R_g^{-1}(E)).
\end{align*}
Thus
\begin{align*}
(L_a)_*(R_g)_*\mu(E)=(R_g)_*\mu(E).
\end{align*}
So $(R_g)_*\mu$ is a left Haar measure on $G$.
By the standard uniqueness theorem for left Haar measure on a locally compact group, any two left Haar measures on $G$ differ by multiplication by a unique positive scalar. Hence there exists a unique number $\Delta(g)\in\mathbb R_+$ such that
\begin{align*}
(R_g)_*\mu=\Delta(g)\mu.
\end{align*}
This defines a function $\Delta:G\to\mathbb R_+$.
[/step]
[step:Compare successive right translations to prove multiplicativity]
Let $g,h\in G$. Since
\begin{align*}
R_h\circ R_g=R_{gh},
\end{align*}
functoriality of pushforward measures gives
\begin{align*}
(R_{gh})_*\mu=(R_h)_*((R_g)_*\mu).
\end{align*}
Using the defining relation for $\Delta(g)$, we get
\begin{align*}
(R_h)_*((R_g)_*\mu)=(R_h)_*(\Delta(g)\mu).
\end{align*}
Pushforward is linear on positive scalar multiples of measures, so
\begin{align*}
(R_h)_*(\Delta(g)\mu)=\Delta(g)(R_h)_*\mu.
\end{align*}
Using the defining relation for $\Delta(h)$, this becomes
\begin{align*}
\Delta(g)(R_h)_*\mu=\Delta(g)\Delta(h)\mu.
\end{align*}
Therefore
\begin{align*}
(R_{gh})_*\mu=\Delta(g)\Delta(h)\mu.
\end{align*}
On the other hand, by definition of $\Delta(gh)$,
\begin{align*}
(R_{gh})_*\mu=\Delta(gh)\mu.
\end{align*}
The scalar relating a left Haar measure to $\mu$ is unique, so
\begin{align*}
\Delta(gh)=\Delta(g)\Delta(h).
\end{align*}
Thus $\Delta:G\to\mathbb R_+$ is a [group homomorphism](/page/Group%20Homomorphism). In particular, since $R_e=\operatorname{id}_G$, we also have $\Delta(e)=1$.
[/step]
[step:Test against a compactly supported function to prove continuity]
Choose a function $f\in C_c(G;[0,\infty))$ such that
\begin{align*}
\int_G f(x)\,d\mu(x)>0.
\end{align*}
Such a function exists because $G$ is a Lie group, hence locally compact, and a left Haar measure is nonzero and finite on compact sets while assigning positive measure to nonempty open sets.
Define the function $I:G\to\mathbb R$ by
\begin{align*}
I(g)=\int_G f(xg)\,d\mu(x).
\end{align*}
By the defining property of pushforward measure,
\begin{align*}
I(g)=\int_G f(y)\,d((R_g)_*\mu)(y).
\end{align*}
Since $(R_g)_*\mu=\Delta(g)\mu$, this gives
\begin{align*}
I(g)=\Delta(g)\int_G f(y)\,d\mu(y).
\end{align*}
Therefore, for every $g\in G$,
\begin{align*}
\Delta(g)=\frac{I(g)}{\int_G f(y)\,d\mu(y)}.
\end{align*}
It remains to note that $I$ is continuous. This is the standard continuity of the right translation action on compactly supported continuous functions: if $g_i\to g$ in $G$, then the functions $x\mapsto f(xg_i)$ converge uniformly to $x\mapsto f(xg)$ on a common compact set containing their supports for all sufficiently large $i$. Since $\mu$ is finite on compact subsets of $G$, integration against $\mu$ preserves this convergence. Hence
\begin{align*}
\lim_{i} I(g_i)=I(g).
\end{align*}
Thus $I$ is continuous, and since the denominator $\int_G f\,d\mu$ is a positive constant, $\Delta$ is continuous.
[guided]
We want to prove continuity of $\Delta$ as a function on $G$. The useful point is that $\Delta(g)$ is not just an abstract scalar: it can be recovered by integrating one fixed compactly supported function after translating it.
Choose $f\in C_c(G;[0,\infty))$ with
\begin{align*}
\int_G f(x)\,d\mu(x)>0.
\end{align*}
This is possible because a Lie group is locally compact, so compactly supported continuous functions exist locally, and a nonzero left Haar measure gives positive measure to nonempty open sets.
Define
\begin{align*}
I:G&\to\mathbb R
\end{align*}
\begin{align*}
g&\mapsto \int_G f(xg)\,d\mu(x).
\end{align*}
The point of this definition is that the integrand $f(xg)$ is exactly the pullback of $f$ by the right translation $R_g$. By the defining property of pushforward measures,
\begin{align*}
\int_G f(xg)\,d\mu(x)=\int_G f(y)\,d((R_g)_*\mu)(y).
\end{align*}
The definition of the modular function gives
\begin{align*}
(R_g)_*\mu=\Delta(g)\mu.
\end{align*}
Substituting this into the previous identity yields
\begin{align*}
I(g)=\int_G f(y)\,d(\Delta(g)\mu)(y).
\end{align*}
Since $\Delta(g)$ is a positive scalar, it factors out of the integral:
\begin{align*}
I(g)=\Delta(g)\int_G f(y)\,d\mu(y).
\end{align*}
The denominator is nonzero by the choice of $f$, so
\begin{align*}
\Delta(g)=\frac{I(g)}{\int_G f(y)\,d\mu(y)}.
\end{align*}
Thus continuity of $\Delta$ reduces to continuity of $I$. Let $(g_i)$ be a net in $G$ converging to $g\in G$. The right translation action on compactly supported continuous functions is continuous in the following standard sense: the functions $x\mapsto f(xg_i)$ converge uniformly to $x\mapsto f(xg)$ on a compact set containing their supports for all sufficiently large $i$. Because $\mu$ is a Radon measure, it is finite on compact subsets of $G$. Therefore the [uniform convergence](/page/Uniform%20Convergence) on that compact set implies
\begin{align*}
\lim_i \int_G f(xg_i)\,d\mu(x)=\int_G f(xg)\,d\mu(x).
\end{align*}
Equivalently,
\begin{align*}
\lim_i I(g_i)=I(g).
\end{align*}
So $I$ is continuous. Since $\Delta$ is obtained from $I$ by division by the fixed positive number $\int_G f\,d\mu$, the function $\Delta:G\to\mathbb R_+$ is continuous.
[/guided]
[/step]
[step:Identify unimodularity with right invariance]
Suppose first that $\Delta(g)=1$ for every $g\in G$. Then for every $g\in G$,
\begin{align*}
(R_g)_*\mu=\Delta(g)\mu=\mu.
\end{align*}
Thus $\mu$ is right invariant. Since $\mu$ was already left invariant, $\mu$ is a bi-invariant Haar measure on $G$.
Conversely, suppose that $G$ admits a Haar measure $\nu$ that is both left invariant and right invariant. Since $\nu$ is left Haar and $\mu$ is left Haar, uniqueness of left Haar measure gives a scalar $c\in\mathbb R_+$ such that
\begin{align*}
\nu=c\mu.
\end{align*}
For each $g\in G$, right invariance of $\nu$ gives
\begin{align*}
(R_g)_*\nu=\nu.
\end{align*}
Substituting $\nu=c\mu$ gives
\begin{align*}
(R_g)_*(c\mu)=c\mu.
\end{align*}
Since pushforward commutes with multiplication of a measure by a positive scalar,
\begin{align*}
c(R_g)_*\mu=c\mu.
\end{align*}
Dividing by $c>0$, we obtain
\begin{align*}
(R_g)_*\mu=\mu.
\end{align*}
By the defining uniqueness of the scalar $\Delta(g)$ in
\begin{align*}
(R_g)_*\mu=\Delta(g)\mu,
\end{align*}
we conclude that $\Delta(g)=1$. Since $g\in G$ was arbitrary, $\Delta$ is identically equal to $1$ on $G$.
This proves that $G$ has a bi-invariant Haar measure if and only if $\Delta(g)=1$ for every $g\in G$.
[/step]