I am having a hard time understanding all the steps in the proof of the following proposition:
Proposition: Suppose that $X$ is a compact Hausdorff space and consider the algebra $C(X)$. Let $J$ be a closed ideal in $C(X)$ and let $E:=\{x\in X:f(x)=0\text{ for all }f\in J\}$. If $U$ is an open neighborhood of $U$ in $X$, then there is a $f\in J$ such that $0\leq f(x)\leq1$ for all $x$ and such that $f(x)=1$ for all $x$ in the compact set $X\setminus U$.
Proof. Fix $x_0\in X\setminus U$. By definition of $E$, there is a $f_{x_0}\in J$ with $f_{x_0}(x_0)\neq0$. Since $|f|^2=\overline{f}f\in J$ if $f\in J$, we may as well assume that $f_{x_0}(x)\geq0$ for all $x\in X$, and since $J$ is a subalgebra, we may also assume that $f_{x_0}(x_0)>1$. Since $X\setminus U$ is compact, there are $x_1,\dots,x_n\in X$ so that $f:=\sum_kf_{x_k}$ satisfies $f\in J$ and $f(x)>1$ for all $x\in X\setminus U$. Observe that $g:=\text{min}(1,1/f)$ is in $C(X)$. Since $fg\in J$, we are done.
The first thing I don't understand is why "since $J$ is a subalgebra, we may also assume that $f_{x_0}(x_0)>1$". My reasoning for this is: clearly if $f_{x_0}(x_0)>1$ we are done, so suppose that $f_{x_0}(x_0)\leq1$. It follows that $0<f_{x_0}(x_0)\leq1$, as we know $f_{x_0}(x_0)>0$. Thus $1\leq1/f_{x_0}(x_0)$. Take $\lambda:=1+1/f_{x_0}(x_0)$. Then $\lambda>1$ and $\lambda f_{x_0}(x)\in J$ (being a subalgebra) has the property that $\lambda f_{x_0}(x_0)>1$. Thus we may assume that $f_{x_0}(x_0)>1$, otherwise we multiply by the appropriate constant.
Next, I understand why $X\setminus U$ is compact. However, I do not see why this implies "there are $x_1,\dots,x_n\in X$ so that $f:=\sum_kf_{x_k}$ satisfies $f\in J$ and $f(x)>1$ for all $x\in X\setminus U$." I see that such an $f$ would belong to $J$, as each $f_{x_k}\in J$, and $J$ is a subalgebra.
The rest I understand.
It's slightly simpler than that. If $f(x_0)>0$ with $f\in J$, then $\lambda f\in J$ for all $\lambda\in\mathbb C$. In particular if you take $\lambda=2/f(x_0)$, say, then $g=\lambda f\in J$ and $g(x_0)=2>1$. You don't have to make any assumptions.
The compactness part, for each $x\in X\setminus U$ there exists $f_x\in J$ with $f_x(x)>1$. Let $$ V_x=f_x^{-1}(1,\infty). $$ Since $x\in V_x$, $X\setminus U\subset\bigcup_x V_x$. By compactness there exist $x_1,\ldots,x_n$ with $X\setminus U\subset\bigcup_{k=1}^nV_{x_k}$. Given any $x\in X\setminus U$ there exists $k$ with $x\in V_{x_k}$. Then $$ \sum_jf_{x_j}(x)\geq f_{x_k}(x)>1. $$