While @Malachiman has provided you with a good solution, if you don’t want to get into coding you could create some square images with the text and icon already in place. You could create normal state images and a set of hover state images.Any image processing application will do for this job.
You can then set up a set of buttons on your page and size them accordingly (If they are full width buttons in columns, select the button, hold the shift key and drag the bottom handle slightly) This process will automatically create a custom class for each button. Selecting each button in turn, click on the custom class name in the properties panel and select the paintbrush tab. You can now add your background images to the buttons. Use one image for the normal state and another image for the hover state. Repeat this for each button. Be sure to set the image to be 100% of the button width and set to no-repeat. If your image doesn’t fit the height of the button, simply re-adjust the size of the button by switching to the metrics tab, click on the three dots in the height box and use the slider to adjust the height of the button.
Tip: make your buttons with square corners if you don’t want them to look like buttons.