There are several parts of permissions when sharing files on a Linux box via Samba. Make sure that you have all of following:
1) Valid username/password in Linux
2) File permissions in Linux
3) Valid username/password in smbpasswd that match at least the username in Linux (I think the passwords can be different)
4) Permissions in smb.conf
Your smb.conf looks okay to me (but I just glanced at it, really). I would assume that your guest account exists in Linux's passwd file. Did you forget to add it to smbpasswd?
If not, try making a test account. Make sure that it is valid in all the steps above. Then explicitly add that test account to all the shares with the following line:
valid users = test_account
Also, you don't need the read only = no and writeable = yes. They are synonymous, and therefore, it is redundant.