They can wear shorts all day and all night if they wish. But to dine in a restaurant, they should require slacks. To dine at the 24 hour Blue Lagoon or buffet, shorts are allowed.
Here's NCL's web page on dress attire for dinner.
What is the dress code in dining rooms?
Freestyle Cruising gives our guests the freedom to dress as they please. Resort casual attire is always appropriate morning, noon and night. However, NCL/ NCLA does not allow any blue jeans, t-shirts, shorts, cut-offs, tank tops, bare feet, etc. in any of our fine dining restaurants for dinner, including all main restaurants, alternative restaurants, and cover charge venues.
Guests are allowed to wear blue jeans, shorts and t-shirts, in the evenings at the buffets, outdoor barbeques, and 24-hour venues, such as the Blue Lagoon, the Cadillac diner, etc.
Below are a few exceptions to the dining room dress code:
Blue Jeans will be allowed in all dining rooms on all Houston departures, due to the Texas culture.
Blue Jeans will be allowed in the Trattoria's in the evenings.
Bermuda shorts with knee high socks, or Scottish kilts with knee highs will also be allowed in all dining rooms in Bermuda as these are considered formal dress in Bermuda.
Hawaiian shirts are allowed with proper slacks in all dining rooms.
Ladies Capri Pants, which are a length between the knee and ankles, are acceptable in all fine dining rooms as long as they are not blue jean capris.