How can I add extra text fields to the image field when adding/ editing nodes?
Image is a file entity and to make it fieldable you can use this module:

File Entity (fieldable files)

From the documentation:


  File Entity
  
  The File entity module extends the capabilities of the core File
  module.
  
  File Entity defines 5 File Types - Application, Audio, Image, Text,
  Video. The Media module adds an additional File Type - Other
  (currently these File Types are hard coded and cannot be changed).
  
  When files are uploaded they are automatically assigned the
  appropriate File Type based on the file suffix.
  
  The File Types as currently defined are:
  
  Images - .png, .gif, .jpg, .jpeg, .ico Videos - .mov, .mpg, .flv,
  .m4v, .mp4, ,ogg, .ovg, .wmv Sound files - .mp3 Text - .txt Document
  files - .doc, .xls, .pdf, .ppt, .pps, .odt, .ods, .odp Other - ??
  
  Each File Type can have fields. This allows for additional information to
  be stored along with a media file such as Title, Description, Taxonomy
  References, Node References, Location, Date created, License
  information etc.