Anyone can give a baby shower. However, the main complaint about baby showers is that they are given for the second baby. Most of us assume that mom has an enormous amount of things left over from the first baby. Mom may have a crib, playpen, rocking chair, etc that can still be used, but she may need new blankets, diapers, bottles, diaper bag, and replacments of things that are worn out. The stroller may be a single seater, and she will have a toddler who is still using that stroller when the second child comes along. The toddler may still be using the crib, but mom can use a day crib for the new baby, since it is obvious that the toddler who is 2 or 3 is about ready for a youth bed.
The general rule about showers for the second baby is that only family, maybe a few close friends, and possibly those who were unable to attend the first baby shower.