I believe that Koji-do is Ko^je-do (o^ indicates the vowel o with a breve on it, a
lax vowel similar to English u as in 'gun', in McCune-Reischauer System of Korean romanization). Ko^je-do
is located on the southern sea (towards the east) of Korea near Pusan. There used to be a POW camp during the
Korean War, where my father was detained as a young man in 1953. In the romanization system set out by the
Korean government (enacted 3 years ago), it is spelled Geoje-do.
Ri is a rural district unit, similar to 'town' in the US system. Rural admistratative districts are
formatted (from larger to smaller units): do/to (province) - kun/gun (county) - myo^n (district) -
ri (town). This -do/to as in 'province' is different from -do as in Ko^je-do, the latter meaning
'island'.
I believe -ni is a variation of -ri caused by a phonological rule of Korean. The segment /ri/ becomes
nasalized after certain consonants, such as -k, -p, or other nasal consonants (-m, -n, -ng): e.g. Yangchon-ni,
but Misa-ri.
If I guessed correctly, -song is '-so^ng' meaning 'castle' or 'fortress', such as Nam Han san-so^ng
"Mountain Fortress of South Han River"