There are a few ways to consider this. One is graphical, and the other is using the potential outcomes.
The graphical method is described by Elwert & Winship (2014). Post-treatment variables can have (at least) two features that yield bias when conditioned upon. First, if the post-treatment variable is a mediator, part of the causal effect of the treatment on the outcome is blocked by conditioning on the variable. Consider the case of full mediation, where the treatment operates fully through some mediator (e.g., the causal effect of treatment assignment operates fully through the treatment actually received in the case of full compliance). Conditioning on (i.e., holding constant) the mediator means the treatment cannot exert any causal force on the outcome. In billiards, if you plan to strike the cue ball with the cue stick so that it hits the eight ball, holding the cue ball in place will eliminate the causal effect of striking with the cue stick on the movement of the eight ball.
The second problem is that the post-treatment variable could be a collider. A collider is a common cause of two variables. Conditioning on a collider induces a non-causal association between the two variables. If the post-treatment variable doesn't causally affect the outcome (i.e., it is not a mediator) but it is causally affected by the treatment and some cause or consequent of the outcome, conditioning on it will induce a non-causal association between the treatment and the outcome, thereby biasing the causal effect estimate.
Wooldridge (2005) gives an explanation that relies only on counterfactuals. I am not entirely convinced by his proof but I'll try to reproduce it. Consider potential outcomes $Y^a$ and treatments $a \in A$. Consider a randomized experiment, so $Y^a \perp A$. Consider a post-treatment variable $x_p$. Wooldridge aims to show that $Y^a \not\perp A|x_p$, which is to say, that unconfounded does not hold when conditioning on post-treatment variables. Wooldridge assumes $x_p$ depends on treatment, that is $D(x_p|A) \ne D(x_p)$, where $D(.)$ means "distribution of".
First, assume unconfoundedness does hold conditional on $x_p$. The proof is a proof by contradiction, so if a contradiction arises, this assumption is false and the proof is complete. We're also assuming $Y^a \perp A$, a randomized experiment.
By iterated expectations, $E[Y^a|A]=E[E[Y^a|A, x_p]|A]$.
Because we're in a randomized experiment, $E[Y^a|A]=E[Y^a]$. Under the assumption to be disproved, $E[Y^a|A, x_p]=E[Y^a|x_p]$. So, $E[Y^a]=E[E[Y^a|x_p]|A]$. Because $Y^a$ generally depends on $x_p$ (because there is no assumption otherwise),$E[Y^a|x_p] \ne E[Y^a]$; and because $x_p$ depends on $A$ (as assumed above), $E[E[Y^a|x_p]|A] \ne E[Y^a]$, which is a contradiction. In English, $Y^a$ depends on $x_p$, which depends on $A$, so $Y^a$ depends on $A$, which is a violation of $Y^a \perp A$. Therefore, the assumption of ignorability given $x_p$ must be false. You may understand the proof in the source material better than I do and come to a different way of undertsnading the problem.
Elwert, F., & Winship, C. (2014). Endogenous Selection Bias: The Problem of Conditioning on a Collider Variable. Annual Review of Sociology, 40(1), 31–53.
Wooldridge, J. M. (2005). Violating Ignorability Of Treatment By Controlling For Too Many Factors. Econometric Theory, 21(05). https://doi.org/10.1017/S0266466605050516