Regardless of how godaddy or other registrars use it in their web interfaces, "@" has a specific meaning in zone configuration files used with BIND.
When an @ is encountered in a zone file, it's replaced by the current value of $ORIGIN. $ORIGIN is usually defined as the root domain - the same as you're familiar with at godaddy - but it doesn't have to be. $ORIGIN can be defined as any domain to simplify a zone file or it can be left undefined, in which case it'll be taken to be the zone name specified in named.conf.
But the behaviour you're asking about is not really to do with the underlying DNS software, it's how the web interface you've been given parses the information you specify and generates a zone file. Apparently Amazon doesn't let you throw an @ around as much as godaddy, so you're stuck having to use the zone name.
(It's worth noting that a CNAME record technically shouldn't point to a domain name, it should point to a Canonical host NAME - but in your example, your domain name is also a host name.)