The first thing I notice is that the X data has missing values (NaN).
MATLAB automatically removes observations (i.e. rows) with missing values. That does not seem to yield a good model.
Removing variables (i.e. columns) with missing data does bring all the coefficients down into roughly the same range.
It's unclear without more context what is the best way to handle your missing data, but I would focus on that first.