Looking at the origins, “表揚” consists of "表", which means publicize, and "揚", which means think and express that sth. is good (approximately "praise"), and "稱讚" consists of "稱" and "贊", both meaning "praise, acclaim, commend". This is how these words are formed (In ancient Chinese, words predominantly consist of one character, which means every character stands for a meaning. Gradually some words which were usually merged into one. "表揚" is an example of two words representing two successive actions: 'publicize then praise it', or 'praise it in public'; "稱讚" is an example of two words with nearly identical meanings)
It's fun and beneficial to understand the origins of words. It can help you grasp the words firmly.