The biggest problem is that I can give him attention for 3 hours straight but if I try to do anything that doesn't involve him he starts biting my legs, feet, arms, and clothes and starts barking at me when I say "OW" or "NO." If I push him off he bites harder so recently I have started going into another room and closing the door, we have done bite inhibition and he does not bite my husband, just me. Another problem occurs when I'm sitting on the couch. He loves his ball and he brings it to me to throw which I don't mind doing but he basically steps on me and shoves the ball in my face. I can't figure out how to get him to drop the ball on command.
That sounds a lot like how our puppy was (and occasionally still is but she was slow to "get" a lot of thing). First, I have a question. You say you can spend a lot of time with the dog but what are you doing WITH the dog during that time?
The pup is biting because they want your attention and biting is a great (from their point of view) way to get it. Pushing/yelping etc excited our dog as well and for us social isolation didn't work.
A tired dog is a better behaved dog so finding activities to do with them that will tired them out will help. Playing ball outside as well as with a flirt pole worked for us but it does depend on what you dog likes. Ultimately, you are trying to spend quality AND tiring time with your pup.
After play time, giving them something to do on their own (preferably in the same room with you) might help as well. Stuffed kongs or food puzzles, favorite chew toys etc are things that you could try.
If after that the dog is still trying to demand attention...things like classical music can help to get the pup to relax and learn that it's quiet time now.
Setting up a routine can also help in the long run. E.g. we play at roughly this time then I chew on something then I have a nap...eventually the dog gets used to it and will begin to be a little less pay attention to me 24/7 and more importantly decrease the biting.
As far as the drop it...I would have treats on hand and when the pup shoves the ball it me say the command and wait...eventually they should drop it...then reward with the treat (one that's higher value than the ball).
The pup is young (they take two to three years to be true adults) so with persistence you will see a change