I'm trying to make the label on this beer bottle non-transparent, but no matter what I try, light goes through it. As you can see from my node tree, it's just a decal applied with a diffuse shader. What am I missing? I need it to be totally opaque.
You don't want to Add both Texture Image and Glass Shader.
The thing you need to do is Mix both of them by Mask.
In below example I've used texture 2048x2048 with centered label and transparent background (PNG).
I don't know exactly how have you added your texture (and UV) so I can't describe precisely what should you do.
Feel free to add more information so I can extend my answer targeting your particular setup.