In addition to what Avigat said, Hindi sentences in the present tense like this one are frequently used to talk about the near-future but not the past (just like in English). This is why 'tomorrow' is acceptable but not 'yesterday'.
Dear Vivian we use Kal in both ways as yesterday and also as tomorrow . So depending on the tense we translate it . For example "Kal me bazaar gaya tha."In this case it means I went to the market yesterday (This was in simple past tense ) . But if I change this sentence "Mujhe kal bazaar jana hai ." It becomes I need to go to the market . So there is a difference between the use of the word .