Do you need a one-page checkout to simplify checkout process?
And make everything easier for customers and let them see all the steps in one glance?
Or not a single page, but some simplification might not be bad?
How about categorizing the purchasing steps into different sections? Sections that you can reorder them as you want?
If so, the nopcommerce plugin- Dynamic check-out, developed by ResanehLab Team is exactly what you need.