I will answer your question
"Most importantly I'd like to know why
$$
\prod (1+|a_n|) \to a < \infty \quad \Longrightarrow \quad \prod (1+ a_n) \to b \neq 0.
"$$
We will first prove that if $\sum \lvert a_n \rvert < \infty$, then the product $\prod_{n=1}^{\infty} (1+a_n)$ converges. Note that the condition you have $\prod (1+|a_n|) \to a < \infty$ is equivalent to the condition that $\sum \lvert a_n \rvert < \infty$, which can be seen from the inequality below.
$$\sum \lvert a_n \rvert \leq \prod (1+|a_n|) \leq \exp \left(\sum \lvert a_n \rvert \right)$$
Further, we will also show that the product converges to $0$ if and only if one of its factors is $0$.
If $\sum \lvert a_n \rvert$ converges, then there exists some $M \in \mathbb{N}$ such that for all $n > M$, we have that $\lvert a_n \rvert < \frac12$. Hence, we can write $$\prod (1+a_n) = \prod_{n \leq M} (1+a_n) \prod_{n > M} (1+a_n)$$ Throwing away the finitely many terms till $M$, we are interested in the infinite product $\prod_{n > M} (1+a_n)$. We can define $b_n = a_{n+M}$ and hence we are interested in the infinite product $\prod_{n=1}^{\infty} (1+b_n)$, where $\lvert b_n \rvert < \dfrac12$. The complex logarithm satisfies $1+z = \exp(\log(1+z))$ whenever $\lvert z \rvert < 1$ and hence $$ \prod_{n=1}^{N} (1+b_n) = \prod_{n=1}^{N} e^{\log(1+b_n)} = \exp \left(\sum_{n=1}^N \log(1+b_n)\right)$$
Let $f(N) = \displaystyle \sum_{n=1}^N \log(1+b_n)$. By the Taylor series expansion, we can see that $$\lvert \log(1+z) \rvert \leq 2 \lvert z \rvert$$ whenever $\lvert z \rvert < \frac12$. Hence, $\lvert \log(1+b_n) \rvert \leq 2 \lvert b_n \rvert$. Now since $\sum \lvert a_n \rvert$ converges, so does $\sum \lvert b_n \rvert$ and hence so does $\sum \lvert \log(1+b_n) \rvert$. Hence, $\lim_{N \rightarrow \infty} f(N)$ exists. Call it $F$. Now since the exponential function is continuous, we have that $$\lim_{N \to \infty} \exp(f(N)) = \exp(F)$$
This also shows that why the limit of the infinite product $\prod_{n=1}^{\infty}(1+a_n)$ cannot be $0$, unless one of its factors is $0$. From the above, we see that $\prod_{n=1}^{\infty}(1+b_n)$ cannot be $0$, since $\lvert F \rvert < \infty$. Hence, if the infinite product $\prod_{n=1}^{\infty}(1+a_n)$ is zero, then we have that $\prod_{n=1}^{M}(1+a_n) = 0$. But this is a finite product and it can be $0$ if and only if one of the factors is zero.
Most often this is all that is needed when you are interested in the convergence of the product expressions for the $L$ functions.