No, conditions (1)-(3) are essential; I’ll explain how each of them is used, answering your second question in the process.
Let $$A_{n-1}=A\setminus\bigcup_{0\le m\le n-1}U_m\;.$$ Condition (3) ensures that $A_{n-1}$ is an infinite subset of $A$. $X$ is $KC$, so the relative topology on $A_{n-1}$ is not cofinite, and there is there an open set $U$ in $X$ such that $U\cap A_{n-1}\ne\varnothing$, and $A_{n-1}\setminus U$ is infinite; this is just a repetition of the argument that was used at the beginning of the proof to get $U_0$.
Note: If $S$ is a subset of a $KC$, and $S$ has the cofinite topology, then every subset of $S$ is compact, so every subset of $S$ is closed, and $S$ has the discrete topology. The discrete topology on $S$ is the cofinite topology iff $S$ is finite. Thus, no infinite subset of a $KC$ space can have the cofinite topology.
Let $U_n=U\setminus\{x_m:m=0,\dots,n-1\}$; $X$ is $T_1$, so $\{x_m:m=0,\dots,n-1\}$ is closed, and $U_n$ is open. Clearly $x_m\notin U_n$ for each $m<n$, and $A_{n-1}\setminus U_n\supseteq A_{n-1}\setminus U$ is infinite. For each $m<n$ we now from condition (1) that $x_m\in U_m$, so $x_m\notin A_{n-1}$, and therefore $U_n\cap A_{n-1}=U\cap A_{n-1}\ne\varnothing$. Thus, we can choose a point $x_n\in U_n\cap A_{n-1}$.
We now have points $x_0,\ldots,x_n$ and open sets $U_0,\ldots,U_n$ such that for each $m\in\{0,\ldots,n\}$:
$\qquad(1')$ $x_m\in A\cap U_m$;
$\qquad(2')$ $x_k\notin U_m$ if $k,m\in\{x_0,\ldots,x_n\}$ and $k\ne m$; and
$\qquad(3')$ $A\setminus\bigcup_{0\le m\le n}U_m$ is infinite.
($(2')$ actually implies $(1')$
These are the conditions required for the recursive construction to continue.
Conditions (1) and (3) were needed to make the construction work. Condition (2) is not used in the construction; rather, it’s the goal of the construction. Once the points $x_n$ and the open sets $U_n$ have been constructed for each $n\in\omega$ so that the three conditions are satisfied, we let $D=\{x_n:n\in\omega\}$, and condition (2) together with condition (1) ensures that $U_n\cap D=\{x_n\}$ for each $n\in\omega$. That is, condition (2) ensures that $D$ is an infinite discrete set.
This is typical of recursive constructions. At each stage of such a construction one requires the constructed objects to satisfy some conditions. Some of these conditions are intended to ensure that when the construction is complete, we’ll have the object that we want; condition (2) here is of that kind. Others, however, are there simply to ensure that the construction can be carried out; condition (3) here is of that kind. Without condition (3), $A_n$ might be finite, and the construction would stop. Condition (1) here is of both types: we use it in the construction, but we also use it at the end in showing that $D$ is discrete.