Lasso (and linear models in general) gets no benefit in terms of performance: any multi-output linear model will just be fitting a matrix of weights, and thus treats all the outputs as independent.
Just to check that:
from sklearn.datasets import make_regression
from sklearn.linear_model import Lasso
X, y = make_regression(n_targets=3, n_features=5)
model = Lasso()
models = [Lasso()]*3
for i, m in enumerate(models):
m.fit(X, y[:, i])
produces the same coefficients.
First, imagine you have two perfectly correlated outputs. Then, if you keep all the random effects the same, one tree built on both outputs and two trees each built on one output will make exactly the same splits. So you reduce computational cost, but get absolutely no change in the resulting models.
Next, suppose the two outputs are identical except that their noise terms are independent. Now you may expect the combined model to sometimes choose a split that looks worse for $y_1$ but only because of the noise in $y_1$. In that case, the combined model may be more robust to noise, by using the other variable(s) to select better splits. I suspect this is the main source of benefit, but there won't be such a quick experiment to verify.
If the outputs are correlated, I guess a similar benefit occurs: even where the correlation isn't as strong, using the other variables can reject splits based just on noise in one variable.
If the outputs are completely uncorrelated, then probably no (consistent) gain can be had. And indeed I suspect sometimes it can hurt, because you need to make common splits for all the variables in the same tree. Your optimal hyperparameters will likely need to allow for a more-complex tree, and you are more at the mercy of the greedy splitting than if you separated into multiple models.