The purpose of this question is to understand the computations to get the expression of the fundamental group in a simple case using the Van Kampen theorem.
Let $X$ be the three holes object obtained from the union of two "figure eight" $A$ and $B$. The fundamental groups $\pi_1(A)$ and $\pi_1(B)$ (computed at $O$) are both isomorphic to $\mathbb{Z} * \mathbb{Z}$ and by extension I suppose that $\pi_1(X)$ will be isomorphic to $\mathbb{Z} * \mathbb{Z} * \mathbb{Z}$.
Using the notations from http://mathworld.wolfram.com/vanKampensTheorem.html, $N$ is the free subgroup of $\pi_1(A) * \pi_1(B)$ generated by $a_2 b_1^{-1}$.
The Van Kampen theorem indicates that:
\begin{equation} \pi_1(X) \approx (\pi_1(A) * \pi_1(B)) / N \end{equation}
As I understand, each coset of this quotient group is generated by applying one element of $\pi_1(A) * \pi_1(B)$ to each element of $N$. So for example if a representative element is $a_1a_2b_2a_1$, the corresponding coset will contain elements such as $a_1 a_2 b_2 a_1 a_2 b_1^{-1}$, $a_1 a_2 b_2 a_1 2 a_2 2 b_1^{-1}$, etc... Since the elements of $N$ are only present at the right end of those resulting elements, I fail to understand how $\mathbb{Z} * \mathbb{Z} * \mathbb{Z}$ might emerge as the fundamental group of $X$.
Can you help me with understand, from the expression of some of the cosets of $(\pi_1(A) * \pi_1(B)) / N$, why does $\pi_1(X) \approx \mathbb{Z} * \mathbb{Z} * \mathbb{Z}$ ?

$N$ is not the subgroup generated by some elements; it is the normal subgroup generated by some elements, and so contains all of their conjugates. Practically what this means is that when you work $\bmod N$ you can replace $a_2$ with $b_1$ wherever it appears in a word, and vice versa (which should make sense since these are the same loop in $X$).
So you can describe $\pi_1(X)$ equivalently as either the free group on generators $a_1, a_2, b_2$ or $a_1, b_1, b_2$.