Probably the webserver (e.g. Apache) is running under a user different from yourself. For example, when Apache is installed with PHP as a module (mod_php), all PHP scripts will be executed with the rights of the webserver, which often is ‘nobody’, ‘www’ or similar.
If your files have 644 permissions, it means the server will not be able to write to the file. In such setup, any file that should be writable by the webserver would need the ‘Others’ write bit set, e.g. chmod 777. This is dangerous though, as anybody would be able to write to your file.
Another thing that can be causing this is that your account on the new server has a different username than the old one, but the file owner remains the same as before. If that is the case, you should run the following command from a shell:
chown -R yourUser:yourUser /path/to/magento/
This will change the owner of each file/folder under your magento directory to ‘yourUser’.