I am the last person that should be answering continuous time questions like these, but if there's no one else I guess I'll give it a shot. (Any correction of my dimly remembered continuous-time finance is very welcome.)
My impression has always been that this is best interpreted as a consequence of the martingale representation theorem. First, though, I'll loosely establish some notation. Let the probability space be generated by the $n$ independent Wiener processes $(Z_t^1,\ldots,Z_t^n)$. Let there be $n+1$ assets, where the value of the $i$th asset at $t$ is given by $S_t^i$. Assume that asset $i=0$ is a riskfree bond $dS_t^0=r_tS_t^0dt$, while assets $i=1,\ldots,n$ are each risky and are driven by the corresponding $Z_t^i$:
$$dS_t^i=\mu_t^idt+\sigma_t^idZ_t^i$$
Assume there is a strictly positive SDF process $m_t$ normalized to $m_0=1$, such that $m_tS_t^i$ is a martingale for each $i$ (basically the definition of SDF) and where
$$dm_t=\nu_t dt+\psi_t\cdot dZ_t$$
(I use $\cdot$ as the dot product, which will be convenient.)
Finally, let the $n+1$-dimensional vector $\theta_t$ be our portfolio at time $t$, such that net worth $A_t$ is given by $A_t=\theta_t\cdot S_t$. Assume that $A_0$ is fixed and that further we have
$$dA_t=\theta_t\cdot dS_t$$
Now I'll state the objective, which captures the essence of complete markets. Suppose that the world ends at time $T$, and that we want net worth $A_T$ to equal a certain stochastic $Y$, which can depend on the full history up until time $T$. Suppose that $A_0=E_0[m_TY]$, so that in a world with complete markets we could (at $t=0$) use our initial wealth $A_0$ to purchase the time $t=T$ payout $Y$. In the absence of these direct complete markets, the question is whether there is nevertheless some strategy for the portfolio $\theta_t$ that will allow us to obtain $A_T=Y$ in all states of the world. And the answer, in this setting, is yes.
First, one can calculate $d(m_tA_t)=\theta_t\cdot d(m_tS_t)$. Thus $m_tS_t$ being a martingale implies that $m_tA_t$ is a martingale. Thus we have $A_T=Y\Longleftrightarrow m_TA_T=m_TY$ iff
$$m_tA_t=E_t[m_TY]$$
for all $t\in[0,T]$. Note that this is true for $t=0$ by assumption; hence to get equality it is only necessary to prove that the increments are always equal on both sides.
Now the martingale representation theorem comes in. Since $E_t[m_TY]$ is a martingale, we can write
$$E_t[m_TY]=E_0[m_TY]+\int_0^t \phi_s\cdot dZ_s$$
for some predictable process $\phi_s$. So we need to be able to show $d(m_tA_t)=\phi_t\cdot dZ_t$. Writing
$$d(m_tA_t)=\sum_i (m_t\theta_t^i \sigma_t^i +A_t\psi_t^i)dZ_t^i$$
we see that we need $m_t\theta_t^i\sigma_t^i +A_t\psi_t^i=\phi_t^i$ for each risky asset $i=1,\ldots,n$, which we can invert to give the needed portfolio choice $\theta_t^i$:
$$\theta_t^i=\frac{\phi_t^i-A_t\psi_t^i}{m_t\sigma_t^i}$$
The riskless asset portfolio choice $\theta_t^0$ can then be backed out from $A_t=\theta_t\cdot S_t$.
The intuition here is simple: we need to always have $A_t$ adjust to maintain the equality $m_tA_t=E_t[m_TY]$, but both the expectation on the right and the SDF $m_t$ on the left are moving in response to the driving processes $dZ_t^i$. Hence we need to pick a portfolio $\theta_t$ such that $dA_t$ precisely offsets these movements and the equation continues to hold. And we can always do this as long as locally, our assets span all the risks $dZ_t^i$ -- which can happen more generally, even for $n$ correlated assets as long as their increments are locally linearly independent. (The case here of $n$ risky assets each drien by an independent Brownian motion is a special one.)