The error means exactly what is says: when you write an INSERT statement, the number of columns specified (4 in your case) must exactly match the number of values supplied (12 in your case). If they don't, then the system doesn't know what to do with them.
If you want to insert multiple rows with the same INSERT, then enclose each set of values in brackets, and separate each group with commas:
INSERT INTO dbo.Locations
(Name, Latitute, Longitute, Description)
VALUES(
('Port Elizabeth', 33.9608, 25.6022, 'Port Elizabeth is a city on Algoa Bay in South Africa Eastern Cape Province.'),
('Mtata', 31.6067, 28.7781, 'Mthatha, or Umtata, is the main town of the King Sabata Dalindyebo Local Municipality in Eastern Cape province of South Africa'),
('East London', 33.0292, 27.8546, 'East London is a city on the Indian Ocean, in South Africa’s Eastern Cape.'));
BTW: the correct spellings are "Latitude" and "Longitude".