You said Buck growling at the cat after it scratched you, but he did not attack the cat. I think a gentle no to Buck, and saying it's ok, would work since he was letting the cat know its behavior toward you was wrong. Labs are very tender-hearted dogs and are protective of their owners, but I do not think he would hurt the cat.
As for the aggressiveness toward other dogs when your outside I agree with the above he is being overly protective and you must curb that behavior with firmly saying no, and bringing him back to your side and sitting him down. Some dogs are harder to train then others. My dog "Goodboy," was very protective when someone came to our front door or in the yard, but we trained him to trust our judgement, with the people we let in the house and in the yard. In the house if he did not like someone we let in he would watch them very closely and not allow them to touch him. But outside with us he allowed other people to pet him.
Goodboy, needed to be giving female horomone pills for one month, to crub his aggressiveness, that mellowed him out enough that we no longer had to worry about him. He was neutered as a baby, but the vet said some breeds still produce extra male horomones. If you need to go that route, don't have him on them any longer than necessary because there hard on their heart.