The thing is when it comes to jobs like retail environments where people are (relatively) easy to replace and where most of the job is something you learn by doing it specific feedback like this isn't all that common. It's not especially nice but in many cases it's more efficient to simply let those who don't swim sink and replace them. This means you have to be proactive in identifying and correcting any potential issues. It's not fair, it's not "nice" but it is what it is.
I told my manager I had to take time off for a medical appointment. That seemed to really upset him.He told me I need to "pull up my socks" and stop "acting like this was some kind of vacation".
Your manager was being harsh there, medical appointments happen. Yeah it can involve having to re-jig shift schedules, find cover etc. But he is the manager, that's part of his job! The second part of this reaction does have me wondering whether there's some frustration at things other than this one medical appointment coming out but regardless it's wrong of him to react this way.
Multiple people have told me it's a laid back job
Unless those people are your boss and they're saying it in a "you're working too hard, slow down" context then you're best off putting this out of your mind. Laid back can be a great environment, but the laid back part should always come after taking care of business.
He told me to "organize a room" and I hadn't at all. First, I honestly don't recall him saying this to me. However, another coworker told me to so the message may have been passed through him.
The thing is if your manager passed these instructions through someone else for you to carry out they will (rightfully) consider that the same as telling you to do it. I'd be very wary of trying to argue semantics there.
However those are very subjective instructions. He has left written instructions on a few occasions to "reorganize" a room or "stock store" which I also find very vague.
Yeah they're pretty subjective instructions - they might not be intentionally being obtuse here, sometimes it's easy to forget that someone doesn't share your same knowledge when it comes to tasks you consider relatively mundane or routine. The best approach here is to have a relatively quick attempt at the task to see if you can figure something out yourself that makes sense and if you can't ask someone (if your boss isn't available ask a peer who has worked there longer) for help to understand what is needed. Put it positively, avoid saying things like "I don't know how to do that" and instead say something like "I want to make sure I get this right, can you point me in the right direction?". The former sounds like an objection, the latter sounds like someone being diligent.
Another example he gave is I didn't bring something from the supply room when he asked me to. I don't know how this could've happened and wish it hadn't been addressed days later.
Yeah, this one's all on you - when you forget to do something small like this (which happens, we're all human) you create an extra bit of workload for him to either a) perform the task themselves or b) send someone else to do it. Raising this to you at the time is then an another bit of workload on top of that. It's not uncommon for minor things like this to be addressed cumulatively at a later date, it would be out of line if he was bringing something up from years ago but it sounds as though it was brought up the next time the subject of your performance was being discussed.
If you're finding that you forget things like this a lot then look into a solution that will help you remember. Something as simple as writing it on your hand is tried and tested to work.
He has an accent I find difficult to understand. Should I tell him this?"
Oh, hell no! At best this would come off as trying to blame him for you not performing and at worst it would come off racist. Either way it's not something you want to be doing.
Should I start asking if I have done the task completely and correctly?
As above asking in advance is better - you avoid doing it wrong in the first place that way, but failing that asking a colleague to check your work in progress or afterwards can be useful. I'd try to avoid doing it about everything and especially not repeatedly about the same thing.
I try to mind my own business but I often notice my coworker sitting there doing nothing but play on his phone. I find it's a bit unfair that I'm doing most of the work.
Yep that's irritating as all heck, and yes it's unfair. There's not a great deal you can do about it though - trying to highlight that to the boss will likely backfire on you. I suggest you keep it under your hat unless the boss specifically asks you about it. Not your circus, not your monkeys.
Should I tell the manager I felt I didn't learn much in "training"?
Another "hell no" there - it's whiny, it's abrogating your own responsibility, heck it might even come across as you trying to throw someone else under the bus. Just don't.
I feel like on other occasions I have lost a job for very intangible reasons like this
I'm sorry if this comes across a little..harsh.. but if this has happened before (more than once?) to the extent where you've actually lost job(s) over it then there's a distinct possibility that the issue lies with the common denominator, and that's you. That's the bad news, the good news is that if it's a you issue it's something within your control and that means you can fix it. Hurrah!
Of course you need to know what the problem is before you can do anything about it - I can't be sure without seeing you in action (so to speak) but the sense I'm getting is that you're a bit passive and seem to expect to be spoon-fed everything. Whether that's step by step instruction on tasks or detailed, specific feedback on those tasks. That doesn't make you a bad person, but it can significantly increase the amount of management overhead required to get acceptable levels of productivity, and as per the start of this answer retail staff aren't typically difficult to replace. If you have a staff member who requires this extra managment effort vs one who doesn't for the same level of output and an obvious solution presents itself.
So how do you solve this? Be proactive. Try to figure out a new task on your own, if you can't do so quickly ask someone for help, do so specifically e.g. "Should these cans be stacked 2 high or 3?" pay attention to not just the answers to your queries but to what your colleagues do (and how they do it). Make sure your feedback is specific e.g. "I looked in for that key in places X,Y and Z and couldn't find it, can you think of anywhere else it's likely to be?" Want to know if there's anything else you should be doing (or could be doing better) ask.
You might not plan on staying in this particular job long - but honing these skills now will pay dividends when you're moving on to other roles that you do want to be long term.