Do I need different encryption and decryption algorithms for each key?
You can use the same ones (which is good, because otherwise you'd run out of them pretty fast). In fact, when a cipher allows you to choose a key, that's basically the same as giving you a new pair of encryption/decryption algorithms for every key.

Usually, when designing a system that uses symmetric encryption, a small set of ciphers are used. For example, the popular NaCl library only uses Salsa20+Poly1305 and AES-GCM.