Your description is a bit confusing.Do you mean you have TWO shower heads and each is rated at 2-1/2 gallons per minute?Shower is delta Carlisle rated at 2.5 + 2.5 GPM
If so, then THAT is the problem. A tank-type water heater can supply roughly 70% of its ultimate capacity before a noticeable drop in temperature occurs. That would mean that you have roughly 30 gallons of 130 degree water with it being cooled by the incoming water when in use. At 60% (of 5 gpm) flow rate you are using about 3 gallons per minute. Assuming that you are also mixing about 30% cold with the hot at the shower gives you an approximate flow rate of 2.1 gpm out of the water heater. That would be about 42 gallons in 20 minutes. Of course the heating supply from the boiler is going to offset the temperature drop from the tank somewhat but not likely enough to allow such flow rates for 20 minutes, especially if you do not have a priority control that (a) turns off space heating when using significant amounts of hot water, and (b) allows the boiler temperature to rise to full cut-out temperature; in other words, does not limit boiler temperature according to outside temperature.
The first thing I would do is to install a priority control (if you do not presently have such) and then raise the temperature of the heater to a minimum of 140 degrees (160 may be necessary) AND install a tempering valve at the water heater outlet to supply 130 degree maximum temperature water (125 may be safer) to the house plumbing. Starting with a higher temperature in the tank allows for more dilution with cold and reduces the flow rate out of the tank giving an effect of more hot water.