Are there always two high tides a day?

No. Although most places in Britain experience approximately two high tides a day, there are some places which experience a double-high water (e.g. Southampton) or double-low water (e.g. Portland). 
This is caused by the shape of the coastline and the water depth. In some parts of the world there is just one high and low tide each day (e.g. Karumba, Australia), or even a mixed tide (changes between one and two tides per day at different times in the spring-neap cycle.) The diagrams below show a typical tidal curve for Liverpool (a fairly sinusoidal shape) and Southampton (which had a more complex tidal pattern).