Consider the graph $X$ with vertex set $ℕ$, an edge between $n$ and $n+1$ and a loop edge at $n$ for every $n ∈ ℕ$.
Error! Click to view log.
We take $b:=0$. Let $f(n):=n+1$ on the vertices and extend to the edges by applying $f$ to the endpoints. The map $g$ acts on the vertices by $g(n+1):=n$ for $n ∈ ℕ$ and $g(0)=0$, and acts on edges by applying $g$ to the endpoints (so the edge $(0,1)$ goes to the loop-edge at 0$)$. Then $g f=\text{id}_X$ by construction. We obtain a maximal tree in $X$ by taking all the edges $(n, n+1)$ for $n ∈ ℕ$, so $π_1(X, b)$ is generated by loops obtained from going from 0 to $n$, then around the loop edge at $n$, then back from $n$ to 0 (
Sheet 4, Question 5). We obtain generators of $π_1(X, f(b))$ analogously. Hence, $f_*$ is not surjective, as the element of $π_1(X, f(b))$ corresponding to the loop-edge at 0 is not in the image. The map $g_*$ is not injective, since the elements of $π_1(X, f(b))$ corresponding to the loop-edges at 0 and 1 map to the same element of $π_1(X, b)$. [Alternately, note that $g$ maps the edge $(0,1)$ to constant path $\{0\}$.]