The \maketitle command does \thispagestyle{plain}.
You have two choices: either redefine the plain pagestyle
\fancypagestyle{plain}{%
\renewcommand{\headrulewidth}{0pt}%
\fancyhf{}%
\fancyfoot[R]{\thepage}% equivalent to \rfoot{\thepage}
}
\pagestyle{plain}
or issue \thispagestyle{fancy} after \maketitle and keep your code as is (well, I added \renewcommand{\headrulewidth}{0pt} to remove the nasty line).
\documentclass[a4paper,12pt,twoside]{article}
\usepackage{multicol}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{lipsum} % for filler text
\geometry{
a4paper,
% total={170mm,257mm},
left=30mm,
right=20mm,
top=20mm,
bottom=20mm,
}
\pagestyle{fancy}
\fancyhf{}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{0pt}
\title{Lorem Ipsum}
\author{XMen}
\date{\today}
\begin{document}
\begin{multicols}{2}[\maketitle\thispagestyle{fancy}]
\lipsum[1-10]
\end{multicols}
\end{document}
With the “redefine the plain style”:
\documentclass[a4paper,12pt,twoside]{article}
\usepackage{multicol}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{lipsum} % for filler text
\geometry{
a4paper,
% total={170mm,257mm},
left=30mm,
right=20mm,
top=20mm,
bottom=20mm,
}
\fancypagestyle{plain}{%
\renewcommand{\headrulewidth}{0pt}%
\fancyhf{}%
\fancyfoot[R]{\thepage}%
}
\pagestyle{plain}
\title{Lorem Ipsum}
\author{XMen}
\date{\today}
\begin{document}
\begin{multicols}{2}[\maketitle]
\lipsum[1-10]
\end{multicols}
\end{document}
Note that I commented the total line: it doesn't make sense to specify the text width, the left margin and the right margin (and similarly for the vertical dimensions).

\maketitleswitches the page style, so use\thispagestyle{fancy}directly after\maketitle. – Johannes_B Nov 27 '19 at 06:07