Statement (A) is correct.
The shared variable $\texttt{turn}$ can contain only one process identifier at a time. Therefore, only the process whose identifier equals $\texttt{turn}$ can enter.
Statement (B) is correct.
A process repeatedly checks:
$\texttt{while(turn != i);}$
while waiting. This consumes CPU time and is called busy waiting.
Statement (C) is correct.
Suppose $P_i$ wants to enter, but $\texttt{turn = j}$.
Even if $P_j$ does not want to enter and remains in its remainder section, $P_i$ cannot proceed until $P_j$ changes $\texttt{turn}$.
Thus, a process outside its critical section can prevent an interested process from entering. This violates progress.
Statement (D) is incorrect.
After leaving its critical section, $P_i$ assigns:
$\texttt{turn = j;}$
Therefore, it cannot re-enter until $P_j$ returns the turn.