Let's see some failed attempts to answer item "a"... let $f = p|_U$. It would be nice to have a notation for restricting the domain and co-domain of a function... :-)
First try) Since $U$ is a neighbourhood of $e$, it contains an open neighbourhood $U'$ of $e$. Now take $V' = f(U')$. Since $f$ is a homeomorphism, $V'$ is open. Wait!!! $V'$ is open in $V$, not necessarily in $H$.
Second try) Since $V$ is a neighbourhood of $e$, it contains an open neighbourhood $V'$ of $e$. Now, take $U' = p^{-1}(V')$. Since $p$ is continuous, $U'$ is open. But wait! It might be that $U' \not \subset U$.
Your try) [...]
For item "b"... in case of groups, I find it always best to talk about neighbourhoods instead of open sets. And then it would be nice to talk about a function being open at one point, the same way it can be continuous at one point. It is handy to know (see below) that a topological group homomorphism needs only to be open at one point to be open everywhere.
Denote by $\mathcal{G}_g$ the family of neighbourhoods of $g \in G$. And by $\mathcal{H}_h$ the neighbourhoods of $h \in H$.
Let us also use the notation
\begin{equation*}
\mathcal{A}|_B = \{A \cap B\,|\,A \in \mathcal{A}\}.
\end{equation*}
And notice that since $U$ and $V$ are neighbourhoods,
\begin{align*}
\mathcal{G}_e|_U &\subset \mathcal{G}_e
\\
\mathcal{H}_e|_V &\subset \mathcal{H}_e.
\end{align*}
Since $f$ is a homeomorphism, it takes $\mathcal{G}_e|_U$ to $\mathcal{H}_e|_V$ (not important here, but it is actually a bijection between those two families). Since a super set of a neighbourhood is also a neighbourhood, $p$ takes $\mathcal{G}_e$ to $\mathcal{H}_e$:
\begin{equation*}
p(\mathcal{G}_e) \subset \mathcal{H}_e.
\end{equation*}
This means that $p$ is open at $e$.
And since $p$ is a group homomorphism,
\begin{equation*}
p(\mathcal{G}_g) = p(g\mathcal{G}_e) = p(g)p(\mathcal{G}_e) \subset p(g) \mathcal{H}_e = \mathcal{H}_{p(g)}.
\end{equation*}
Therefore, $p$ is open everywhere, and therefore, open.
(this actually also proves item "a"!)
It all looked overly complicated. All that is being said, in a slightly complicated way is:
Just grab a neighbourhood of the identity $A \subset G$. Then, $A \cap U$ is taken to a neighbourhood of the identity of $H$. (fill the gaps)... therefore, $p$ is open at $e$.
For item "c", let $K$ be the kernel. Notice that $K$ is discrete because if $p(g) = 1$, then no other element in $gU$, except for $g$ is in $K$:
$$p(gU) = p(g)p(U) = p(U),$$
and $p|_U$ is injective.
To see that $K$ is in the center, for $k \in K$, consider the function
\begin{align*}
c: G &\rightarrow K
\\
g &\mapsto gkg^{-1}.
\end{align*}
since $c$ is continuous, $G$ connected and $K$ discrete, $c$ is constant. Since $c(e) = k$, we have that for every $g \in G$, $gkg^{-1} = k$.