Reason 1: First is because it is linked to attendance module. 

Reason 2: Different company have different public holiday declared.

Reason 3: It may caused the inaccurate result of attendance summary. employee should present but app said it is non-working day

Reason 4: It also linked to leave(pro) calendar (inside the request form)