In example 1, "which carry everything I need" definitely refers to "Sonam supermarket".
However, please note that it should be:
..., which carries everything I need.
in singular, since there is only one supermarket.
Example 2 is slightly more ambiguous. First, you mix "supermarkets" with "superstores".
Second, the subordinate clause should relate also to "Sonam supermarket", but a supermarket does not have "superstores", so the meaning is that the subordinate clause refers to the "Main Street".
To remove ambiguity, you could say:
- I often go shopping at Sonam supermarket on Main Street, because on Main street there are a lot of superstores. If I am not satisfied with Sonam, I will visit another one.