inconsistent warnings for ElasticNetCV and LassoCV

### Describe the bug

ElasticNetCV and LassoCV generate warnings when y is a (n,1) vector but doesn't when y is a (n,) vector. This behavior is not in LinearRegression or RidgeCV. Can they be made consistent to avoid confusion in applications?

### Steps/Code to Reproduce

```
from sklearn.linear_model import ElasticNetCV, LinearRegression, LassoCV, RidgeCV
import numpy as np
y = np.random.rand(30, 1)
X = np.random.rand(30, 2)

# no warnings
ypred = LinearRegression().fit(X,y)

# no warnings
ypred = RidgeCV().fit(X,y)

# warnings
ypred = ElasticNetCV().fit(X,y)

# warnings
ypred = LassoCV().fit(X,y)
```

### Expected Results

No warnings are displayed.

### Actual Results

from sklearn.linear_model import ElasticNetCV, LinearRegression, LassoCV, RidgeCV
import numpy as np
y = np.random.rand(30, 1)
X = np.random.rand(30, 2)

ypred = LinearRegression().fit(X,y)

ypred = RidgeCV().fit(X,y)

ypred = ElasticNetCV().fit(X,y)
e:\data\SAndo\venvs\myenv\Lib\site-packages\sklearn\linear_model\_coordinate_descent.py:1714: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
  y = column_or_1d(y, warn=True)

ypred = LassoCV().fit(X,y)
e:\data\SAndo\venvs\myenv\Lib\site-packages\sklearn\linear_model\_coordinate_descent.py:1714: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
  y = column_or_1d(y, warn=True)

### Versions

```shell
System:
    python: 3.12.10 (tags/v3.12.10:0cc8128, Apr  8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]
executable: ...\venvs\myenv\Scripts\python.exe
   machine: Windows-2016Server-10.0.14393-SP0

Python dependencies:
      sklearn: 1.7.2
          pip: 24.0
   setuptools: 72.1.0
        numpy: 2.2.6
        scipy: 1.14.0
       Cython: 3.0.11
       pandas: 2.2.2
   matplotlib: 3.10.7
       joblib: 1.4.2
threadpoolctl: 3.5.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: openblas
    num_threads: 24
         prefix: libscipy_openblas
       filepath: ...\venvs\myenv\Lib\site-packages\numpy.libs\libscipy_openblas64_-13e2df515630b4a41f92893938845698.dll
        version: 0.3.29
threading_layer: pthreads
   architecture: SkylakeX

       user_api: openmp
   internal_api: openmp
    num_threads: 32
         prefix: vcomp
       filepath: ...\venvs\myenv\Lib\site-packages\sklearn\.libs\vcomp140.dll
        version: None

       user_api: blas
   internal_api: openblas
    num_threads: 24
         prefix: libscipy_openblas
       filepath: ...\venvs\myenv\Lib\site-packages\scipy.libs\libscipy_openblas-5b1ec8b915dfb81d11cebc0788069d2d.dll
        version: 0.3.27.dev
threading_layer: pthreads
   architecture: SkylakeX
```

COMMENT:
hey @sakaiando 
LassoCV and ElasticNetCV expect y to be a 1D array because they do not support multi-output regression. When a 2D column vector is passed, sklearn flattens it internally and raises a warning to ensure the user is aware of this implicit conversion.

why :

Ridge supports multiple outputs because its L2 penalty leads to a smooth, convex objective with a closed-form matrix solution. Lasso uses an L1 penalty, which introduces non-differentiability and requires coordinate descent. Extending this efficiently and stably to multi-output cross-validated settings is complex, so scikit-learn restricts LassoCV and ElasticNetCV to single-output regression and provides MultiTaskLasso variants instead.

Labels: Bug, Needs Triage