LS1 & 2 are considered for the X-axis
Yes, these correspond to X-max and X-min, respectfully.
LS3 & 4 are for the Y-axis
Yes, these correspond to Y-min and Y-max, respectfully.
do I need all of these switches?
Technically, no, you need one switch for each axis (if homing is used), but it can be saving your printer when somehow a layer shift has occurred which forces the head to move outside the bed dimensions.
Note that you even can use zero switches, but then you would need to position the print head yourself before each print and condition the G-code with a starting position, this is seen in some CNC machines.
It is a good idea to use min and max switches, but not necessary. (My CoreXY printer doesn't have the Y-max endstop as there was a little too less space to place it, restricting Y bed size...)
Is it even possible to program this many in the firmware?
Yes, firmwares allow for min and max switches, sometimes even multiple min or max switches for a single axis. The problem is whether your controller board has enough pins exposed and connectors added on the circuit board. But, min and max switches for X, Y and Z axis are not uncommon anymore, look at the specs of the controller board.