Some of your complaints stem from the cat(s) not having learnt what is and is not acceptable. They love to manipulate things with their paws and naturally many will try to swipe/push things and sometimes off ledges, shelves etc.
You can teach them that that is not acceptable and they will learn. It is even easier to discourage such things from a young age.
Also, it's good to never give them your food and make them learn that they never get food from you at any time other than their feeding time (barring the occasional treat) and always only in their food bowls.
A lot of it is consistency and discipline. I've had multiple cats start the behaviour of swiping/pushing things off surfaces but it wasn't hard at all to curtail that. While I've raised a non-trivial number of them, I've never had a cat which considered that s/he got food when humans are eating.