Why not create 1 microflow that splits into SUB_microflows for each role? This way you only have 1 button and 1 page and only have to adjust 1 microflow should another role become available
If the buttons are the only difference I would create one page and set visibility on the buttons based on the role.
If the page also contains other elements that are displayed or editable based on role, you might be better off using separate pages and snippets. Cramming it all on one page may make the page rather complex to maintain, and also to render, causing response time issues.