Please refer to the attached modified project.
Please refer to the below points.
1. Don't write big code inside any ISR. Instead, set a variable inside ISR and check the variable status and call the function in main loop.
2. Always keep the Bless interrupt to highest priority i.e., bless interrupt priority to 0.
3. Please clear the WDT interrupt properly after completion using CySysWdtClearInterrupt(), this function will Clears all the WDT counter interrupts set in the mask.