I use DASM, currently (?) maintained by Andrew Davies IIRC. I suppose most assemblers are the same, only the syntax differs a bit.
The ca65 assember from the CC65 package is very powerful, but quite tricky to learn to master, I've heard. I have never used it, other than part of the compiler stage. If you're learning C and 6502 machine code simultaneously, it might be interesting to look at CC65, even if it supports neither Atari 2600 nor NES.
Speaking about the 2600 (which btw uses 6507, a stripped-down 6502), it is considered one of the most hairy systems to program due to the strictly limited amount of RAM, need of exact timing of every screen row, vertical blanking and so on. I envy those who have the patience to get somewhere. If you want to learn the machine language, try some simpler machine such as Commodore 64 or Atari 8-bit computers, both with plenty of documentation and much easier to get going. Of course you can work with a bare 6502 board/emulator, but it may bore you long before you get the hang of things.