You do the following step to your training data.
# Add a constant for the intercept
X_count = sm.add_constant(X_count)
X_zero = sm.add_constant(X_zero)
However, you do not do it to your testing data. I believe that can be your problem, as the dimensions are one off according to your error.