Don't use manual labels on ticks, just don't put ticks at the unwanted places. When write labels, the EponentMode is set to 'Manual' and then the exponent display goes away.
yticks([yl(1) 0 yl(2)])
BTW, you alias the MATLAB builtin yticks function above; don't do that! Makes high probability of coding errors later when want to use it.
Another alternative would be to not try to futz with the axis label but use the annotation/label of the yline object instead. It will be on the line inside the graph area but doesn't require the other manipulations to not write the one tick value. And, if yval isn't some nice even number always, that doesn't match up nicely with where tick marks logically go, it isn't affected.
A possible enhancement request for the yline object might be an 'outside' position key value--altho it raises the problem of potential clash with tick labels but a smart implementation could deal with it.