Create a uipanel around each subplot. The clipping imposed by the panel will clip the y labels.
Or... change the labels to be less wide. For example, put \newline into them to cause them to span multiple lines, such as
ax1.YLabel.String = 'you know what? This \newline is a really pretty silly \newline long y label would you \newline not say?'
which breaks the label up over 4 lines. Then you start worrying about headroom in the width, but the label remains visible.
With regards to the red text: At the moment you have set the Position for it to be [0 0.5 0] in each case. Instead use [0.5 0.5 0], and set the HorizontalAlignment property to 'center'