Having trouble understanding None in the summary of my Keras model
The output of the first layer is (None, 62, 62, 32), but isn't in
  supposed to be (62, 62, 32)? Where does the None come from?


The None is just a placeholder saying that the network can input more than one sample at the time. If your input shape was (64, 64, 3) it would mean that your network could one hold one image at the same time. But you want to train with batches of varying length or predict several images at the same time, that's why it's (None, 64, 64, 3). 

As an example, if you would send in a batch of 10 images your shape would be (10, 64, 64, 3) and if you changed it to 25 you would have (25, 64, 64, 3).


  Also since my images are (64, 64, 3) doesn't it mean that the filter
  should have 3 dimensions to cater for the color channels of the image?


Technically you could use a 3D filter with Conv3D on images. However, it is not something people do for RGB images. Probably because it gives worse results than using 2D. Instead you treat RGB as three separate 2D channels rather than one 3D channel. Using three dimensions is usually more relevant in video where you instead use time as your third dimension. Here is a Quora where it is discussed more at length:

Why do we use 2D convolution for RGB images which are in fact 3D data cubes? Shouldn't we use 3D convolution for RGB and 4D for video?