Why can I not use "bon" instead of "bonne"?
Does it not mean the same thing? or is it just short for the work so it does not recognize it?
In French, nouns have genders - they are masculine (= male) or feminine (= female). That applies not only to persons, but also to inanimate objects such as "the book" (le livre), which is male. You can tell which gender a noun has from its article - "le" (English: the) and "un" (English: a) are used for masculine nouns; "la" (English: the) and "une" (English: a) for feminine nouns.
Adjectives such as "good" or "bad" have to have the same gender as the noun they refer to. "Bon" is used to refer to masculine nouns and "bonne" to refer to feminine nouns.
E.g. "Le livre est bon" (The book is good), but "La robe est bonne" (The dress is good).