On simple 1D dataset, LogisticRegressionCV selects terrible hyperparameters, resulting scores are nonsensical
First I did a visualization of what your code is doing (see code at the bottom)



The model seems completely fine. The coefficient of the linear regression is close to 0, where it should be given how you have created the data.

You are misunderstanding


  regularized_logistic_regression_model.scores_
  
  
    {1: array([[0.47058824, 0.47058824, 0.47058824, 0.47058824, 0.47058824],
            [1.        , 1.        , 1.        , 1.        , 1.        ],
            [0.63636364, 0.63636364, 0.63636364, 0.63636364, 0.63636364]])}
  


I quote from sklearn documentation:


  scores_dict: dict with classes as the keys, and the values as the grid of scores obtained during cross-validating each fold


This is the prediction of one of the folds (note that if you increase the cv parameter it changes length)

The data created is sorted! If you plot the values of X vs the Index you can see 


You are getting those results because the data is sorted! Not just because of luck. If you shuffle the data you won´t have perfect predictions.

Your result is around 0.7 that is actually what makes sense by looking at the image I attached.

I shuffled the data, not in the most elegant way but you get now different results.

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
from sklearn.linear_model import LogisticRegressionCV
from sklearn.linear_model import LogisticRegression
plt.style.use('seaborn-whitegrid')

def gen_y(x):
    p1 = np.clip(x + 0.5, 0, 1)
    v = np.random.uniform(0, 1)
    if v &lt; p1:
        return 1
    return 0

np.random.seed(6)

x_data = np.sort(np.random.normal(0, 0.3, 100))
y_data = np.array([gen_y(x) for x in x_data])





df = pd.DataFrame(x_data.reshape(-1, 1),columns=['X'])
df['y']= y_data

plt.figure()
plt.title('Values of X vs Index')
df.X.plot()
plt.savefig('x')
plt.show()

df = df.sample(frac=1)


regularized_logistic_regression_model = LogisticRegressionCV( fit_intercept = False, cv = 3)

regularized_logistic_regression_model.fit(df['X'].values.reshape(-1, 1) , df['y'])




plt.figure()

df['results'] =regularized_logistic_regression_model.predict(df['X'].values.reshape(-1, 1))
plt.scatter(df[df['results']==0].y,df[df['results']==0].X,label='pred=0')
plt.scatter(df[df['results']==1].y,df[df['results']==1].X,label='pred=1')
plt.legend()
plt.hlines(y=regularized_logistic_regression_model.coef_.squeeze(),xmin=-0.1,xmax=1.1)
plt.savefig('ex')
plt.show()

regularized_logistic_regression_model.scores_