From the shift pattern you described, Sunday is defined as Rest Day for your cleaner. Hence if a public holiday falls on Rest Day, the next working day shall be replaced as Public Holiday, for your instances, Monday will be the Public Holiday for your cleaner.
However, based on operation needs, company can choose to set a policy to replace the Public Holiday with the Leave in Lieu for employees to apply or to determine another working day as the Public Holiday.