Your answers are correct, but I'm not entirely convinced by your reasoning. Maybe it's my fault, but in any case I'll give another argument that someone might find useful.
Assume that the relative frequencies of boys and girls in the population are the same, namely $1/2$.
Let $t$ be the relative frequency of the name "Tom" in the population of boys. Assume that no girls are named Tom.
Assume that for every couple, the sexes and names of that couple's children are drawn independently according to the distribution described above. Moreover, assume that $t$ is so small that $t^2 \approx 0$. (This is one reasonable interpretation of the problem, I think.) Then by Bayes' theorem we have
$$P(2 \text{ boys} \mid \text{at least }1 \text{ Tom}) = \frac{P(\text{at least }1 \text{ Tom} \mid 2 \text{ boys})P(2 \text{ boys})}{P(\text{at least }1 \text{ Tom})} \approx \frac{2t \cdot 1/4}{t} = \frac{1}{2}.$$
As Alex points out in the comments below, if we calculate this exactly we get
\begin{align*}
P(2 \text{ boys} \mid \text{at least }1 \text{ Tom})
&= \frac{P(\text{at least }1 \text{ Tom} \mid 2 \text{ boys})P(2 \text{ boys})}{P(\text{at least }1 \text{ Tom})} \\
&= \frac{(1-(1-t)^2) \cdot 1/4}{1-(1-t/2)^2} = \frac{2-t}{4-t},
\end{align*}
and again the answer approaches $1/2$ as $t$ approaches zero.
For the second problem, the way I'd explain it is that before the phone is answered we have four equally likely possibilities: GG, GB, BG, and BB. After we get the information that it's not GG, then the remaining three are equally likely, and BB is one of these three, hence a probability of $1/3$.
Note that the answer to the first problem approaches the answer to the second problem as $t$ approaches $1$, because if all boys are named Tom, then the callers questions "...is named Tom" and "...is a boy" are equivalent.