As all norms on $M_n(\mathbb C)$ are equivalent, we can use any norm we please. I will use the norm $\|a\|=\sum_{i,j}|a_{ij}|$.
Let $p_1$ be the selfadjoint matrix given by
$$
(p_1)_{ij}=\begin{cases}p_{ij},&\mbox{ if }i< j\\ \\ \mbox{Re}\,p_{jj},&\,\mbox{ if }i=j \\ \\ \overline{p_{ji}},&\mbox{ if }i>j\end{cases}
$$
Note that $p_1$ is selfadjoint, $\|p_1-p\|\leq\|p^*-p\|<\varepsilon$, and $$\|p_1^2-p_1\|\leq\|p_1^2-p_1p\|+\|p_1p-p^2\|+\|p^2-p\|+\|p-p_1\|\leq(\|p_1\|+\|p\|+2)\,\varepsilon=(2+\|p\|)\,\varepsilon.$$
Also, from $\|p-p^2\|<\varepsilon$ we get
$$
\|p\|^2\leq\|p\|+\varepsilon,
$$
which shows that $\|p\|\leq1/2+\sqrt{\varepsilon+1/4}\leq 1+\sqrt\varepsilon$. So our first estimate becomes
$$
\|p_1^2-p_1\|\leq(3+\sqrt\varepsilon)\,\varepsilon.
$$
Since $p_1$ is selfadjoint, we can diagonalize it: $p_1=vdv^*$, with $v$ unitary and $d$ diagonal with real entries. Since $v$ is unitary, $\|v\|\leq n^2$ (just using that all entries in $v$ are of absolute value at most one) and so
$$
\|d^2-d\|=\|v^*(p_1^2-p_1)v\|\leq n^4\|p_1^2-p_1\|\leq n^4(3+\sqrt\varepsilon)\,\varepsilon.
$$
This shows that each eigenvalue of $p_1$ is either near $0$ or near $1$ when $\varepsilon$ is small. Concretely,
$$
\frac{1-\sqrt{1+4n^4(3+\sqrt\varepsilon)\,\varepsilon}}2\leq|d_{jj}|\leq\frac{1-\sqrt{1-4n^4(3+\sqrt\varepsilon)\,\varepsilon}}2
$$
or
$$
\frac{1-\sqrt{1+4n^4(3+\sqrt\varepsilon)\,\varepsilon}}2\leq|1-d_{jj}|\leq\frac{1-\sqrt{1-4n^4(3+\sqrt\varepsilon)\,\varepsilon}}2.
$$
Using that if $a<|d|<b$ for $b>0$, $a<0$ then $|d|<b-a$, we get
$$
|d_{jj}|\leq8n^4(3+\sqrt\varepsilon)\,\varepsilon,\ \mbox{ or }|1-d_{jj}|\leq8n^4(3+\sqrt\varepsilon)\,\varepsilon
$$
(using that $\sqrt{1+a}-\sqrt{1-a}\leq2a$ for $a>0$).
So let $e$ be a diagonal matrix with $e_{jj}=0$ if $|d_{jj}|\leq1/2$, $e_{jj}=1$ if $|d_{jj}|>1/2$. Let $q=vev^*$. Then $q$ is a selfadjoint projection and
$$
\|q-p\|\leq\|q-p_1\|+\|p_1-p\|\leq n^4\|e-d\|+\varepsilon\leq n^4\,n8n^4(3+\sqrt\varepsilon)\,\varepsilon=8n^6(3+\sqrt\varepsilon)\,\varepsilon.
$$
Finally, to answer the question: if a bound is prescribed on $\varepsilon$ (which is basically the same as prescribing a bound on the norm of $p$), the required $k$ can be found. For example, if $\varepsilon\leq1$, then we can take $k=8n^6\times4=32n^6$.