\rowcolor covers text in tables because of using @{\,} between columns

Here is what you can do with {NiceTabular} of nicematrix.

Remark that you don't need \multirow for the headers.

\documentclass{article}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage{siunitx}
\usepackage{chemformula}
\usepackage{nicematrix}
\usepackage{makecell}

\NiceMatrixOptions{cell-space-top-limit = 2pt}

\begin{document}

\begin{table}[htb]
\begin{NiceTabular}{L@{\,}LS[table-format=3.2]R@{\,}L%
S[table-format=1.2e1,table-number-alignment=center]}%
[code-before = \rowcolor{lightgray}{3,4}]
\toprule
\multicolumn{2}{C}{Component}
& 
{\makecell{{Stock Solution}\\ (\si{\gram\per\liter}\ch{dH2O)}} }
& 
\multicolumn{2}{C}{Quantity}
& 
{\makecell{Concentration in \\ Final Medium \\ (\si{\mole\per\liter})}}
\\ 
\midrule
\addlinespace
(1) & NaCl & {---} & \tablenum[table-format=4.0]{23} & g & 12.34e-5 \\[1mm]
\multirow{2}{*}{(2)} & A1 & 134.56 & {\multirow{2}{*}{\tablenum[table-format=4.0]{1}}} & {\multirow{2}{*}{mL}} & 23.56e-7 \\
& A2 & 56.78  &  &  & 56.47e-4 \\
\addlinespace
\multirow{2}{*}{(2)} & A2 & 56.78  & {\multirow{2}{*}{\tablenum[table-format=4.0]{1}}} & {\multirow{2}{*}{mL}}  & 56.47e-4 \\
                 & A3 & 11.11  & & & 11.11e-1 \\
\addlinespace
\bottomrule
\end{NiceTabular}
\end{table}
\end{document}

You need several compilations.

Output of the above code