I will explain the general idea and let you fill in the small details.
For the conditional expectation, you have the property $\mathbb{E}[XY] =\mathbb{E}[X\cdot\mathbb{E}[Y|X]]$, also called the tower property.
The discrete case gives you a really good intuition about why it is true: if $X,Y$ are discrete random variables, then $\mathbb{E}[XY]= \sum_{k,n\in \mathbb{N}} x_ky_n\Pr[X=x_k,Y=y_n]$.By using conditional probability, we get $\mathbb{E}[XY]=\sum_{k\in \mathbb{N}} x_k\Pr[X=x_k]\sum_{n\in \mathbb{N}}y_n\Pr[Y=y_n|X=x_k]$. We write $\mathbb{E}[Y|X=x_k] = \sum_{n\in \mathbb{N}}y_n\Pr[Y=y_n|X=x_k]$. We can define $\mathbb{E}[Y|X]$ as the random variable that gets the value $\mathbb{E}[Y|X=x_k]$ whenever $X=x_k$. Hence, since $\mathbb{E}[XY] = \sum_{k\in \mathbb{N}} x_k \mathbb{E}[Y|X=x_k] \Pr[X=x_k]$, we can deduce $\mathbb{E}[XY] = \mathbb{E}[X \cdot \mathbb{E}[Y|X]]$.
The identity $\mathbb{E}[XY|Z] = \mathbb{E}[X\cdot \mathbb{E}[Y|X,Z] |Z]$ is really just the tower property in disguise - only now we work with the conditional expectation of $Z$ instead of an actual expectation.
We can apply $\mathbb{E}[XY] =\mathbb{E}[X\cdot\mathbb{E}[Y|X]]$ on the conditional expectation of $Z$, by writing $\mathbb{E}[XY|Z] = \mathbb{E}[X\cdot \mathbb{E}[\mathbb{E}[Y|Z]|X]|Z]$. Since $\mathbb{E}[\mathbb{E}[Y|Z]|X]] = \mathbb{E}[Y|X,Z]$, we are done.