Your remark about the nature of open sets in ##\mathbb{R}^2## makes the proof even simpler :
Assuming that ##U = \cup_{i \in I}\ U_i \times V_i##, ##U_i## and ##V_i## all open in ##\mathbb{R}##, then for any pair ##(x,y) \in U##, there exists ##i\in I## such that ##y## belongs to ##V_i##.
Therefore, there exists a subset ##I_0\subset I## such that ##\pi_2(U)\subset \cup_{i\in I_0} V_i ##.
Conversely, for any ##y\in \cup_{i\in I_0} V_i##, there exists ##i\in I_0## such that ##y\in V_i##, and since ##U_i \times V_i \subset U##, it is clear that there exists ##x\in U_i## such that ##y=\pi_2(x,y) \in\pi_2(U)##. Therefore ## \cup_{i\in I_0} V_i \subset \pi_2(U)##.
Finally, ##\pi_2(U) = \cup_{i\in I_0} V_i ## which is open as a union of open sets.