You are right in thinking that you need a variable. You don't really enable or disable your flow, you just set it up so it looks at a variable, using an additional 'only if', to see if it should run.
To change or use variable values, use the Functions:Variables Thing.
Make a separate flow that sets the value of a variable to "true" when you press your button. Initially you will create and name your variable at the same time you set the value. You'll see what I mean when you get in there. Enable and run that flow.
Now make another flow that sets the value of that same variable to "false" when you push your other button. At that point you will be able to pick the variable by name, since you already created it.
Modify your existing flow to use a Function:Variables Thing set up as "ONLY IF a variable matches a value" (true) , along with your other only if that looks at the time.
The buttons will then change the variable to true or false, and your flow will only run when the variable is true.
Tips: Use all lower case for variable names and values. In the app you can go to your list of Things and click on the Functions:Variables Thing to see the value of your variables. You can also use Stringify's Variable Editor web page to do that and to create variables. But sometimes there is a delay, changes to variables set from the web page may not show up in the app or flows right away.