Q:

Why do I get two different git SHAs when I commit the same thing twice?

Try this:
mkdir a  
cd a
git init
touch f1
git add f1
git commit -m "Commit 1"
git log

Note the SHA.  Then do
git commit --amend -m "Commit 1"
git log

Note that the SHA has changed, although nothing that I can see has changed about the commit itself (not even the commit date.)
What is different about these two commits that generates a new SHA?

A:

I ran through your example locally.  If you use git cat-file to examine the commit objects...
After the first commit:
$ git cat-file -p f9afca7508e2d97ca4babfb897fa5acefe67af54
tree 56e3dd6f60494c9bbe56ea178b9a86c91d3139c6
author Lars Kellogg-Stedman <lars@example.com> 1376499716 -0400
committer Lars Kellogg-Stedman <lars@example.com> 1376499716 -0400

Commit 1

After amending:
$ git cat-file -p 976778e7f58c4b2f89b4f652e89c420e1266d297
tree 56e3dd6f60494c9bbe56ea178b9a86c91d3139c6
author Lars Kellogg-Stedman <lars@example.com> 1376499716 -0400
committer Lars Kellogg-Stedman <lars@example.com> 1376499733 -0400

Commit 1

Note that these two commits have different timestamps for the "commiter" metadata.  Since the data is different, the commit ID is different.  If you change the data, you change the SHA1 of the object.

