> (1) Is this proof valid ?

Yes, this proof for the cylindrical body is valid.

But the author should better say "upward and downward pressure *force*",
instead of "upward and downward pressure",
because pressure has no direction (as you correctly pointed out).

> (2) How can I write a proof with any general solid ? (not just cylinder)

Archimedes' principle for an arbitrarily shaped body can most easily be proved
with [Gauss' gradient theorem][1].
This theorem relates an integral over a closed surface area $\partial V$ 
to an integral over the enclosed volume $V$.
$$\oint_{\partial V} p(\vec{r})\ d\vec{A} = \int_V \vec{\nabla} p(\vec{r})\ dV \tag{1}$$
where $p(\vec{r})$ is any position-dependent function,
and $\vec{\nabla}$ is the [gradient][2] operator.

Now, as the position-dependent function
we choose the pressure 
$$p(\vec{r})=p_0-\rho gz \tag{2}$$
where $z$ is the vertical position coordinate
and $p_0$ is the pressure at zero-level ($z=0$).

Then the gradient of (2) is
$$\vec{\nabla}p(\vec{r})=-\rho g\hat{z} \tag{3}$$
where $\hat{z}$ is the unit-vector in $z$-direction.

Inserting (3) into (1) we get
$$\oint_{\partial V} p(\vec{r}) d\vec{A} = \int_V (-\rho g\hat{z})\ dV. $$

Now on the left side $p\ d\vec{A}$ obviously is
the pressure force acting on the surface area element $d\vec{A}$
(except for a minus sign, because the force element $d\vec{F}$ points
inside the body, while the area element $d\vec{A}$ points outside).
And on the right side, the constants $(-\rho g\hat{z})$ can be factored out.
So we get
$$-\oint_{\partial V} d\vec{F}=-\rho g \hat{z} \int_V dV$$
or finally
$$\vec{F}=\rho g \hat{z} V$$
which is just Archimedes' principle.


  [1]: https://en.wikipedia.org/wiki/Vector_calculus_identities#Surface%E2%80%93volume_integrals
  [2]: https://en.wikipedia.org/wiki/Gradient