On call is just that - you are on call for a period of time - usually a shift or a portion of a shift. You must be reachable by phone and able to come into work within a certain period of time if they call you (what that time is depends on the facility - often 30 minutes). If they call you to come into work, you will often get paid time and a half for the time worked, and if you don't work, you will often get paid a certain amount for the time you are on call (how much that is depends on the facility, on call pay has ranged from $2/hour to $4/hour at facilities at which I've worked).
Flex is totally different, at least where I've worked. Flex is like PRN. You work scheduled shifts, fill in gaps in the schedule as needed, rather than as a fulltime employee, and you're not a benefit earning employee. You're not guaranteed a certain number of hours per week, and you don't earn PTO. Your hourly wage might be a little higher to make up for that, though.