How do I apply a binary mask and STFT to produce an audio file?
The idea of the short-time Fourier transform (STFT) in this case is to compute a representation of the input signal where we see how the frequency content of the signal evolves over time. If you aren't familiar with the STFT, I would suggest you read up on it a bit first. The Wikipedia article on the subject should get you started. 

To your question. The STFT function in your code gives you a complex-valued matrix in the output. When you move up or down a column in the matrix you are moving in the frequency direction. When you move along a row in the matrix you are moving along the time direction. The magnitude of a single complex-valued element in the matrix gives you an estimate of the energy in a certain frequency band at a certain time position in the input signal.

I recommend you try to understand the parameters that are given to you in the function call. You should try to understand how the window size, hop size, number of FFT bins, and the windowing function used affect the output of the function.

If we denote your complex valued STFT with $$X = \textrm{STFT\{x(n)\}},$$ and the binary mask with $M$, the output signal in the time-frequency domain is given by:

$$Y = X \odot M,$$
where $\odot$ refers to element-wise multiplication. Then you want to convert your modified time-frequency representation $Y$ back into to a time signal. This is done by doing the inverse STFT:

$$y(n) = \textrm{ISTFT}\{Y\}.$$

This should get you going, but time-frequency processing is a complex topic and I highly recommend trying to find resources to help you really understand what is going on when you are doing things such as applying a binary mask in the STFT-domain.