I would rather replace the vertical line with a supplementary empty column to have a clear separation between the two group of columns. Another possibility, aesthetically, might be to delete the vertical padding of horizontal rules, and replace it with the \makegapedcells command from makecell, which adds a vertical space at the top and bottom of all cells. As a demonstration, I replaced the vertical line with thick, light grey vrule, which I find more pleasing to the eye than the default thin, black, vertical rule.
\documentclass{article}
\usepackage{makecell} % for bold in table using \small
\renewcommand\theadfont{\small\bfseries} % for bold in table using \small
\usepackage{tabularx, ragged2e}
\usepackage{booktabs}
\usepackage[table, svgnames]{xcolor}
\begin{document}
\begin{table}[!ht]
\centering
\begin{tabularx}{\textwidth}{X>{\raggedright\arraybackslash}ccccccc}
\toprule
& \multicolumn{3}{c}{\textbf{Paired Differences1}} & & \multicolumn{3}{c}{\textbf{Paired Differences2}}\\
\cmidrule(lr){2-4} \cmidrule(lr){6-8}
& \thead{Statistic}
& \thead{df }
& \thead{ Sig. }
& & \thead{Statistic}
& \thead{df}
& \thead{Sig.} \\
\midrule
Difference & 44.20 & 14.36 & 4.54 & & .957 & 10 & .746\\
\bottomrule
\end{tabularx}
\caption{Testing Testing Testing%
\label{tab:test1234}%
}
\end{table}
\begin{table}[!ht]
\centering
\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
\setcellgapes{3pt}\makegapedcells
\begin{tabularx}{\textwidth}{X>{\raggedright\arraybackslash}ccc!{\color{Gainsboro!50!Lavender}\vline width 0.75em}ccc}
\toprule
& \multicolumn{3}{c!{\color{Gainsboro!50!Lavender}\vline width 0.75em}}{\textbf{Paired Differences1}} & \multicolumn{3}{c}{\textbf{Paired Differences2}}\\\noalign{\vskip -0.033em}
\cmidrule(lr{1.33em}){2-4} \cmidrule(lr){5-7}
& \thead{Statistic}
& \thead{df}
& \thead{Sig.}
& \thead{Statistic}
& \thead{df}
& \thead{Sig.} \\
\noalign{\vskip-0.05em}
\cmidrule[0.05em](r{0.9em}){1-4}\cmidrule[0.05em](l{0.15em}){5-7}
Difference & 44.20 & 14.36 & 4.54 & .957 & 10 & .746\\
\bottomrule
\end{tabularx}
\caption{Testing Testing Testing%
\label{tab:test1234}%
}
\end{table}
\end{document}

Xcolumn to make sense. This answers you second question. As to the first,booktabsis not adapted to vertical rules. For which reason do you ue it? – Bernard Aug 11 '19 at 17:27booktabsmanual: "You will not go far wrong if you remember two simple guidelines at all times: 1. Never, ever use vertical rules. [...]" Therefore, I'd recommend to either stick to this rule, or, if you prefer vertical lines, use\hlineinstead of tehbooktabshorizontal lines. – leandriis Aug 11 '19 at 17:39\smallfrom a\theadcommands, as you already used\renewcommand\theadfont{\small}´ to automatically make all text in\theadcommands small. You can go even further and remove all the\textbfinside of\theadcommands, if you use\renewcommand\theadfont{\small\bfseries}` – leandriis Aug 11 '19 at 17:43equally distributed between all columns. How can I do that? – aan Aug 11 '19 at 18:14\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lccc|ccc}instead of\begin{tabularx}...and\end{tabular*}instead of\end{tabularx}. – leandriis Aug 11 '19 at 18:23tabularx, using\begin{tabularx}{\textwidth}{l>{\raggedright\arraybackslash}XXXXXX}– aan Aug 11 '19 at 18:24cyou requested them to be centered, while the contents ofXtype columns are justified. – leandriis Aug 11 '19 at 18:28tabular*better in this case thantabularxwhere is alight to content to centre. There are so many tabular, tabular*, tabularx, tabulary....i guess more to come – aan Aug 11 '19 at 18:30