Lag(?) issues

Like What I am getting from all of this is use switch case instead of if() statements, is that correct?

No. Whether to use a switch statement or a series of if statements will become abundantly clear when you understand what each does. If you are not comfortable with the switch statement, nothing it does can not be done with a series of if/else if/else statements.

The converse is not necessarily true.

Can I make these seperate "machines" on the same arduino?

Yes. The concept of a state machine is pretty simple. Imagine a state machine involving you and your house. You are in the living room OR you are in the bathroom OR you are in the bedroom. All you need to do is keep track of what state you are in (in the living room, in the bathroom, in the bedroom).

For some states, in the bedroom, for example, there are other states - in bed, for example.

Even there, there are possibilities - asleep or awake or doing something, alone or with someone else.

So, you can have any number of states, some of which make sense when another state is true, and some of which do not. Asleep, having sex, in the kitchen is not a really plausible set of states. But, asleep, in bed, in the bedroom is a perfectly reasonable set of states.

The Arduino is perfectly capable of keeping track of all the states, for all the state machines mentioned.

Should I like nest switch statements?

You can. Whether you should, or not, depends on what you are trying to accomplish.

Or should my code just be kind of like one be gigantic switch statement with a WHOLE bunch of cases?

How hard are you trying to make the code to maintain? Separating the states into different state machines, and using separate functions managing each state, would make it easier to maintain the code.