This is probably the Cadillac of patching, but its how I do it. I dont want some future NO (New Owner), swearing at the PO (Previous Owner); thats me.
Materials: Counter Sink pop rivets, PC-11 Water proof Epoxy. Access the roof from underneath and scrape away the insulation, then use a wire wheel to clean off any residue down to the clean aluminum. Cut a suitable patch from Aluminum roof flashing and drill and countersink the holes. For small holes I keep a bag of quarter sized Aluminum craft disks to patch screw holes. Mix and apply the PC-11 to the surface of the patch in a thin even coat. You probably will need an assistant, but most of the time I use a painters extension pole and small piece of wood to press the patch into place. Use two rivets to align the patch from below. Install the pop rivets. Use your choice of spatula or forming tool to smooth out the PC-11 on the top side. PC-11 has a fairly long work time. Let it set up, and sand and paint. I also go over the underside with some of the spray Flex Seal, just to be sure it will never leak.