A solution provided by @Werner is reproduced below -- https://tex.stackexchange.com/a/410766/197451
Two proof environments are provided:
proofA
and
proofB
The first uses a regular tabular
, the second uses a tabularx
that allows for justified paragraph text.

MWE
\documentclass{article}
\usepackage{tabularx}
\newcounter{proofstep}
\newcommand{\step}{}
\newenvironment{proofA}
{\par
\setcounter{proofstep}{0}%
\renewcommand{\step}{\refstepcounter{proofstep}\theproofstep. &}%
\noindent
\begin{tabular}{ @{} r c l @{}}}
{\end{tabular}}
\newenvironment{proofB}
{\par
\setcounter{proofstep}{0}%
\renewcommand{\step}{\refstepcounter{proofstep}\theproofstep. &}%
\noindent
\tabularx{\textwidth}{ @{} r c X @{} }}
{\endtabularx}
\begin{document}
\noindent
\begin{tabular}{ @{} r c l @{} }
1. & some math & Justification. \\
2. & some math & Justification.
\end{tabular}
\begin{proofA}
\step some math & Justification. \\
\step some math & Justification.
\end{proofA}
\begin{proofB}
\step some math & This is just another sentence that will span at least two
lines. Well, now it will, for sure! \\
\step some math & Justification.
\end{proofB}
\end{document}
The header row can be added by modifying the code for the tabular environment as follows
\begin{tabular}{ @{} r c l @{} }
& \textbf{Step} & \textbf{Reason}\\
1. & some math & Justification. \\
2. & some math & Justification.
\end{tabular}

tabular
environment. Did you already try something?