Future time frames in English are created through context, not grammar. Unlike languages like French or Italian that have true future tenses, English has no such magic formula. For example, the sentence "I sing" can describe the present, the future, or it can be timeless. Without context, there is no way to know what it means:
"I sing with the choir next Tuesday" is about the future.
"I sing well" is timeless or about the present.
Present Continuous is also ambiguous:
"Right now I am going to the store" is about the present.
"Next Tuesday I am going to the store" is about the future.
"These days I am running errands for my wife" is either present or timeless.
If someone says to you "I am going to the store", you will always know what that person means because this is NEVER said in isolation. It may occur in the context of a conversation. If not, you will always will have some clue telling you what exactly it means.
Neither does "will" magically create a future frame. The only difference between "will" and "may" is degree of certainty:
"I may shop tomorrow" speaks of the future.
"I will shop tomorrow" speaks of the future.
"Mary will shop even if she needs nothing" is timeless.
"I will shop" might be about the future, but could equally well be a way of expressing a conviction. The same is true of "I may shop", but the conviction would be weaker.
Context. Context. Context.