Here is a solution only for b), in the case $n \ge 2$, assuming your matrices are defined over the field of complex numbers $\mathbb{C}$:
Lemma 1: If $T \in \mathcal{M}_{n}(\mathbb{C})$ with $\text{Tr}(T)=0$ and $n \ge 2$ there exist $A,B \in \mathcal{M}_{n}(\mathbb{C})$ such that $T = [A,B] = AB-BA$.
Proof: Induction on $n$. See this post.
Lemma 2: There exists some $M \in \mathcal{M}_n(\mathbb{C})$ such that $\text{Tr}(M) \neq 0$ and $MB = O_n$.
Proof: This is quite easy to prove. Since $B$ is not invertible, there exists some $x \in \mathcal{M}_{1,n}(\mathbb{C})$ nonzero, $x = [x_1, \ldots, x_n]$ such that that $xB = O_{1,n}$. Then we may take $M$ to be the matrix whose lines are all $x$. If $\text{Tr}(M) \neq 0$ we are done. If not, consider $i \in \{1, \ldots, n \}$ such that $x_i \neq 0$ and replace the $i$-th line of $M$ with $2x$.
Now, let us prove b):
Note that $ACB-CAB = B$ is equivalent to $$(AC-CA-I_n)B = O_n$$ Let $M$ be as in Lemma 2 and denote by $\lambda = \text{Tr}(M)$. Take $T = (-n)\cdot \lambda^{-1}M + I_n$. Note that $\text{Tr}(T) = 0$. Therefore, by Lemma 1, there exists some $A,C \in \mathcal{M}_n(\mathbb{C})$ such that $AC-CA = T$. Now, just notice that
$$(AC-CA-I_n) B= (T-I_n)B = (-n)\lambda^{-1}MB = O_n$$ as desired.