Another (but shorter) method with datetime2
:
\documentclass{article}
\usepackage[en-GB]{datetime2}
\newcommand{\longtoday}{{\DTMlangsetup[en-GB]{abbr=false,ord=omit}\today}}
\newcommand{\shorttoday}{{\DTMlangsetup[en-GB]{abbr,ord=omit}\today}}
\begin{document}
\longtoday
\shorttoday
\end{document}
If the date needs to appear in the PDF bookmarks, then you need to set the style before the sectioning command. For example:
\documentclass{article}
\usepackage[en-GB]{datetime2}
\usepackage{hyperref}
% default setting:
\DTMlangsetup[en-GB]{abbr=false,ord=omit}
\begin{document}
\DTMlangsetup[en-GB]{abbr}
\section{\today}
\DTMlangsetup[en-GB]{abbr=false}
\section{\today}
\end{document}
Similarly for any other expandable context, such as writing the date to an external file.
If you want to ensure two-digit day of month (without an ordinal suffix):
\renewcommand*{\DTMenglishordinal}[1]{\DTMtwodigits{#1}}