You need to create two configurations, each milling from a different direction (I use French words: dessus = above; dessous = below but you name them however you like):
On the “above” configuration, you set your work coordination system (WCS) to a point on the top part of the model. In the “below” configuration system, you set the WCS on the bottom part of the model and you flip the Z axis (again my screen is in French but I hope you recognise the controls, note that I checked the option to invert the Z axis):
I like to place the point in the center of the block (for reasons I explain below) but it only depends on how you will align the block in the machine.
Then you create your paths, as usual, post-process, etc. as usual. That’s for the software aspect.
Physically you need to make sure that you flip the part reliably. There are many techniques (I’m particularly impressed by this one), including dowels. Because I only ever milled small parts from 2 sides, I have set a FoxAlien vice. I very, very carefully aligned its jaw with X axis of the 1F using a test indicator so I know that the X axis of the part is stable when flipping.
I set the origin (0, 0) on the 1F in the center of the block because I can easily and reliably find the center from both sides.