Create two apparently identical layouts. Permit browse mode access in one but not the other. Use your "modify" button to change from the "read only" to the "edit" copy of the layout.
Or your button can change the value of a global field or variable to "unlock" the record if you either set up a field validation calculation on each field that rejects changing the values or a "lock expression" in manage security for the user's privilege set that does not allow editing unless this field or variable is set to a specified value.
Other methods are also possible.