You can find out why this is happening from the following explanation on the Samba web site under the File Permissions and Attributes on MS-DOS and Unix section:
It has to do with mapping the System, Hidden and Archive bits for an MS-DOS filesystem.
An MS-DOS filesystem doesn't make use of executable bits so the three executable bits on the Unix filesystem are reused to represent the System, Hidden and Archive bits for the MS-DOS filesystem.
So when you view the file permissions using
ls -l in Unix, you're viewing the file permissions suitable for MS-DOS (or Windows) keeping in mind that the three executable bits in Unix represent the System, Hidden and Archive bits for MS-DOS.
smb.conf, however, you can turn this mapping off for a share with:
map archive = no
map system = no
map hidden = no
and force the mode on creation of files with:
force create mode = 0660