Hi, As i have worked onboard ships i think i can answer your question.
The ship will have towels to use for beds onboard but they are quite small and passengers have to search from them. Take your own. Also you will need them for any beach stops. The ship will have a laudary service which will be taken and brought back to your cabin.
Have sailed on Royal Caribbean 5 times, they do provide beach/pool towels. They are large, bath sheet size and they are easy to get and change. There are towel stations at the main pool deck, you just take what you need. You can change them as much as you like when they are wet etc, just drop them in the used towel bin and get fresh ones. There would be nothing to stop you taking them ashore if you went to a beach. I wouldn't waste packing space taking my own. Your DS will have a ball! The kids club for 3-5 year olds on Royal is brilliant, when my son was 3 we could hardly get him away from the place!