From FamilySearch, there are three births in St Monance to James Innes and Isabella
Davidson, who were married in St Monance on 2 October 1868
John, 31 October 1868
George, 29 September 1870
James, 22 September 1872
John Innes, aged 2, died in St Monance in 1871.
In the 1881 census (transcription) James Innes, 32, and Isabella Innes, 35, are in St Monance with George, 14; James, 8; Alexander, 6; John, 4; and David, 1.
In 1891, the census index lists James Innes, 44; Isabella Innes, 44; George, 20; James, 18; Alexander, 16; John, 14; David, 11; Chapman, 8; Allan, 7 and Agnes, 4.
In 1901 the index lists James, 52; Isabella, 54; Chapman, 19; Allan, 17; Agnes, 14.
So the full list is George, John, James, Alexander, John, David, Chapman, and Allan, and yes the first John did die and a later son was named John.
You should go to
www.scotlandspeople.gov.uk and download the marriage certificate (which will tell you the names of James' and Isabella's parents including their mothers' maiden surnames) and the 1911 census, which will tell you how many children Isabella had had and how many were still living.
You might also view the birth certificates of all the children, the death certificate of the first John, and the 1871, 1881, 1891 and 190 census to make sure that the indexes and transcription are correct (for example there is an error in George's age in 1881, when he would have been 10, not 14, years old).
You could also look for the deaths of James' and Isabella's parents. If they died after 1855, that will tell you the names of Agnes' grandparents including her grandmothers' maiden surnames.