Should the minimum value of a cost (loss) function be equal to zero?
Saying that the well-known loss functions, like MSE or Categorical Cross Entropy, has a global minimum value equal to zero is flawed . The idea behind loss function is to measure how near the model predictions are to the actuals(in case of a regression). Now ideally , you would want your model to predict exactly equal to the actuals . In that case only , we get loss equal to zero. Otherwise , loss is non zero almost all the time . If you remember the loss function for a linear regression setting , 

We need to minimise  so that the predictions  can be as close to the actuals as possible . For that the derivative of  should be zero . It doesn't matter if   is zero or non zero . Graphically , for a cost function like this
 , you want to reach the point  where the derivative is zero.