By default tcolorbox declares all boxes with width=\linewidth, so if you want more than one box on same line, you'll have to adjust their width. But this is not enough, because, also by default a tcolorbox also starts a new paragraph, so you also need to fix options before and after or use something like nobeforeafter.
If instead of environment tcolorbox you use command \tcbox, box width is automatically adjusted to box contents and they don't start a new paragraph.
Examples for tcbox start at page 13 in tcolorbox documentation. And first example with several tcolorbox environment on same line in page 17.
\documentclass{article}
\usepackage[most]{tcolorbox}
\begin{document}
\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=My Heading, width=.45\linewidth, nobeforeafter]
This is a \textbf{tcolorbox}.
\tcblower
Here, you see the lower part of the box.
\end{tcolorbox}
\hfill
\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=My Heading, width=.45\linewidth, nobeforeafter]
This is a \textbf{tcolorbox}.
\tcblower
Here, you see the lower part of the box.
\end{tcolorbox}
\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=My Heading, width=.45\linewidth, nobeforeafter]
This is a \textbf{tcolorbox}.
\tcblower
Here, you see the lower part of the box.
\end{tcolorbox}
\hfill
\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=My Heading, width=.45\linewidth, nobeforeafter]
This is a \textbf{tcolorbox}.
\tcblower
Here, you see the lower part of the box.
\end{tcolorbox}
\end{document}
