You should of course check your state regulations which for Massachusetts is in
this PDF file. Regarding disinfection equipment it says the following:
(4) Suitable automatic equipment shall be provided and so installed as to permit adequate disinfection of all the pool water. Hypochlorinators shall be dependable in operation and equipped with a calibrated controlling device capable of being finely adjusted to the required rates, and shall have a feed-rate capacity of at least three pounds of chlorine per 24 hours per 10,000 gallons of pool capacity for all outdoor pools, and at least one pound of chlorine per 24 hours per 15,000 gallons of pool capacity for all indoor pools.
Chlorine gas feeders and containers are prohibited.
For bather-load capacity, it says the following:
(1) For the purpose of computing bather load capacity, those portions of the swimming pool five feet or less in depth shall be designated as "non-swimmer" areas. Portions of the pool over five feet in depth shall be designated as the "swimming" area.
(2) In order to compute swimmer and bather capacity, swimming and wading pool areas shall be determined as follows:
(a) 15 square feet of pool water surface area shall be provided in the non-swimmer area for each non-swimmer expected at time of maximum load.
(b) 20 square feet shall be provided in the swimming area for each swimmer expected at time of maximum load.
(c) 300 square feet of pool water surface area shall be reserved around each diving board or diving platform and this area shall not be included in computing the area of the swimming area.
(d) 100 square feet of pool water surface area shall be reserved around each slide and this area shall not be included in computing the area of the swimming area.
(e) The bather load capacity shall be stated on the permit. (see 105 CMR 435.21(1)).
(3) The Board of Health may make additional allowance for bathers in cases of swimming pools with extensive deck areas used by patrons for lounging or sunbathing. These allowances shall be based on studies of actual swimming pool use in areas within the jurisdiction of the Board of Health.
(4) Ten square feet of water surface area per bather shall be used in computing the bather load capacity for special purpose pools.
There is a table showing that pH must be from 7.2-7.8, TA from 50-150, and FC from 1.0-3.0 (with CC from 0.0-0.2). Testing is required 4 times per day, at least once during peak bather load. Interestingly regarding CYA the code says:
(5) If cyanuric acid is used to stabilize the free available residual chlorine, or if one of the chlorinated isocyanurate compounds is used as the disinfecting chemical, the concentration of cyanuric acid in the water should be at least 30 mg/l, but shall not exceed 100 mg/l.
If you just changed the pool water about 3 weeks ago, have you since added more sodium bromide to it or used bromine tabs already? If not, then you can just go to an SWCG right away. If you've used bromine though, you'd have to change the water to turn it back into a chlorine pool. If you didn't add sodium bromide and just started using bromine tabs, then if you haven't added very much, you could use an SWCG and the bromine will over time outgas, possibly within a month or two if not much bromine was used (just a few ppm).
This pool sounds like a "special purpose pool" which "means a unit designed for recreational and therapeutic use which is shallow in depth and not meant for swimming or diving". In that case, you are allowed 10 square feet per bather. It sounds like you won't be anywhere near this maximum during peak.
As for sizing the SWCG, let's start with
the code which requires "one pound of chlorine per 24 hours per 15,000 gallons of pool capacity for all indoor pools". For your 24,000 gallon pool that means (24000/15000)*1 = 1.6 pounds per 24 hours. The SWCG cells that claim to handle 40,000 gallons are usually 1.4 pounds per 24 hours so would not meet state code requirements. You need to use the 60,000 gallon sized cells that output 2.0 pounds per 24 hours or use more than one smaller cell. Let's just see what the state minimum supports in terms of bather load. Every person-hour in a pool requires roughly 4 grams of chlorine to oxidize the bather waste while in a hot (104ºF) spa it's roughly 9 grams. This therapy pool is a bit in between. There isn't swimming, but it's warmer. Let's use 6 grams to be a bit conservative even though it may only be 4 in reality. Over 12 hours, we have 1.6/2 = 0.8 pounds of chlorine which is 363 grams so would handle 363/6 = 60 person-hours (so 60/12 = 5 people for 12 hours). You indicated a peak of 30-40 people spread out over 12 hours, but you need to be more specific with "spread out" since I assume all 30-40 are not in the pool the entire 12 hours. Specifically, what is the maximum number of people in the pool at any point in time? If I assume the people are in the pool for 2 hours each, then that would be around 7 people at any one point in time which over 12 hours would be 84 person-hours. So this would require more than the state minimum for chlorine output.
Basically, the SWCG needs to be sized to handle the peak bather-load, not the total over 24 hours. Even though in reality much of the bather waste will be oxidized over many hours, from a worst-case it is sized to handle the peak as if all the waste needed to be handled immediately. This would then handle the situation of having that peak last throughout the day. For the example above, I came up with 7 people in the pool at the same time. So per hour that is 7 person-hours per hour so 7*6 = 42 grams per hour or 42*24 = 1008 grams per 24 hours or 2.22 pounds per 24 hours. Given our conservative assumptions, you should be fine with a 2 pound per 24 hour unit if the peak number of people were 7 in the pool.
The SWCG manufacturers, especially for commercial use, have spreadsheets they use to size the units and factor in more than bather load but also regular losses/usage, though usually with commercial/public pools the bather-load dominates especially for indoor pools. Since you are paying them for their systems, you should have them do these calculations for you, though the above will help you make sure they are doing them at least roughly right.
As for whether to use CYA in the pool, the state regs mean you could have 3 ppm FC with 30 ppm CYA but that may not be a high enough active chlorine level to handle bather waste well in an indoor pool though with the warmer water temperature it might be OK. It would have been better if the state would have allowed 4 ppm FC with 20 ppm CYA, but they don't. With no CYA, you could have 1.0 ppm FC and while this is higher in active chlorine, it will handle the bather waste faster. Since this is an indoor pool, do you have any supplemental systems such as UV or ozone? How are you managing to keep Combined Chlorine (CC) no higher than the 0.2 ppm that the state allows?