You're not going wrong - he's just nearly two! My 19 month old is very similar. I am a SAHM too and a lone parent so it's quite full on but I have a few coping strategies.
Toddler groups are a good way to help them let their energy out - they probably will fight with the other children a bit, but if they are all around the same age, you tend to find other parents are understanding, and you just separate them and they have a bit of a screaming fit on the floor and then move on to the next activity having completely forgotten about it. I tend to focus more on turn taking than sharing, because I think that sharing is hard for a little toddler to understand. But DS will now wait (sometimes) if someone else is playing with something he wants, if I say "It's X's turn now, you can have a go in a minute" and then give him the toy as soon as X loses interest.
Also when they do snack time at the groups, DS is a different child and eats everything in front of him, at home he often throws food on the floor or just refuses it.
Nappy changes, he probably just doesn't want to lie on the floor. Have you tried using pull ups instead? They are more expensive, but for us, it turned out to just be a phase. DS now lies down to be changed most of the time. It is possible to do up a normal nappy when they are standing up but it takes practice!
Discipline - I don't tend to lean towards punishments/rewards, he is still little, and there is a lot more to it than that anyway. He does sometimes pay attention if I say "No" but I try to use different words, so for example when he is hitting, I say "Too rough" and hold his arms away so he can't hit me, or take away the thing he is hitting with, and when I notice him being gentle I say "Good, nice and gentle, that is lovely". Every word, you have to back up with an action - so don't just say "No" without moving him or stopping him from doing whatever it is. (Of course this is an ideal and not always possible/I don't always have the energy to do so, but if you apply an action 60% of the time or more then they can be more sure of what you mean when you use the word another time)
If he keeps going back to the same thing again and again, like trying to touch the cooker knobs, or destroying something I can't move out of his reach, or keeps attacking me etc then I either stop what I am doing and we have a complete change of scene ie move rooms, go into the garden (even in the rain, but he loves being outside) give him a bath, (he's usually too tired and hysterical for baths at bedtime) or go out somewhere, or if I can't do this or haven't got the energy to deal with it I just pick him up and put him somewhere out of trouble, this is usually in his playpen, or strapped in his highchair/pushchair watching CBeebies or a DVD.
Keeping to at least a rough routine is vital, this is hard for me, I am not routine minded! But toddlers always want to know what comes next, and because they have such limited language they do better if they can predict what happens next because they are used to the routine. Also a routine helps you to get them to bed at a reasonable time, which is a lifesaver - the nights DS doesn't sleep are worse because I am already worn out at the end of my tether with him. He has just dropped his only nap, so if he sleeps in the day (even if woken) he's up until 10, but if he doesn't sleep, he's difficult and grouchy in the afternoons. I am just putting him to bed early and hoping he comes through this phase quickly!