Names given to the Spanish language
Formally speaking, the national language of Spain, the official Spanish language, is the Castilian language (as opposed to regional Spanish languages like Galician, Catalan, Asturleonese and Basque). As such both names, "español" and "castellano", have distinct and independent meanings that may be required for clarity in some specific contexts.
Generally speaking, though, both terms can be used to refer to the (national) Spanish language as a whole, with a preference for one over the other that depends on the context or the speaker's origin. "Castellano" (as well as "Castilian" in English) has another, more restricted, meaning, relating either to the old Romance language spoken in the Kingdom of Castile in the Middle Ages, predecessor of the modern Spanish language, or to the variety of Spanish nowadays spoken in the historical region of Castile, in central Spain.
Names given to the Spanish language
However, the term "Spanish" ("español") is a more recent term that first referred to Spain as a country, and then to the predominant language spoken in that country. Spain as a truly unified nation appeared centuries later than the language and the Kingdom of Castile; in fact, it was only in the late 15th century that the personal union between the Crowns of Castile and Aragon unified Spain. The actual legal unification date is disputed, but commonly agreed to have occurred not earlier than the eighteenth century at the end of the War of the Spanish Succession. Only then did the Castilian language begin to be commonly called Spanish.