My NN has less than 1% accuracy rate, what's wrong with my model/dataset?
You note that y_train.values[0] returns 106.0 - is that correct? Sigmoid activation binds the output to between 0 and 1, so it's not possible for it to predict a 106.

Try changing the activation for your final layer to relu too. 

You should also switch to a more regression-appropriate metric like mean_squared_error or R2. Accuracy is more of a classification thing.