is this how you make a past tense of a modal verb and if not what is this?
ich habe ... sollen.(is it the perfect past tense(would it mean I should have))
what is the difference between man sollst and man soll and man sollte?
You are stumbling over the Ersatzinfinitiv here.
This is Perfekt:
Ich habe eingekauft.
Ich habe gesollt.
But sollen requires a verb to define what you should have done. In this case auf Hochdeutsch it's not
Ich habe einkaufen gesollt.
but instead
Ich habe einkaufen sollen.
Please note the Ersatzinfinitiv isn't used in some Southern German dialects. For these, Ich habe einkaufen gesollt. is correct.
Same with müssen, können and other verbs which require a verb to define them further. Not only modals, but e.g. also brauchen, heißen, lassen, sehen, hören, fühlen, helfen. For the latter, it's often hard to guess when to use the Ersatzinfinitiv and when not.
Ich habe ihr einkaufen geholfen.
Ich habe ihr einkaufen helfen sollen.
simple but … tricky …
man soll and man sollte differ in tense. The first is Präsens, the latter Präteritum. If you aren't sure about the man, replace it with er. They are both third person.
For this reason man sollst is ungrammatical. Because man is third person, while sollst is second person.