do metal atoms always have a full outer shell?

No, not necessarily. Metal atoms can gain or lose electrons to have a full outer shell, or they can form metallic bonds in which they share their outer electrons with neighboring atoms to form a "sea of electrons" that spreads out over the entire metal.