I'm quite confused with my Visa. I was able to travel recently to EU countries such as Czech Republic, Hungary, Austria, Germany, and Italy. However I am not so sure if I could enter Bulgaria or Macedonia. I saw some sites saying that one could enter these countries with a Schengen visa. I'm not sure if my Visa is a Schengen visa since it says it's valid for SPAIN unlike my previous Schengen tourist visa from France that said ETATS SCHENGEN.
You should check your visa type - it is not very clear from your question which visa you have. There are 3 types of Schengen visas:
Uniform Schengen Visas (USV) - this is what most of the tourists receive, multiple visits / short term. Valid for all Schengen countries.
National Visas ("D" category/type) - long term visas (study/work etc.) also enables you to visit all Schengen countries.
Limited territorial validity visas (LTV) - this one valid only in country specified in visa, so you can't visit other countries using it.
If you traveled using your visa in different EU countries already it should be type 1 or 2, but if you are saying "valid only for Spain" it can be also type 3, though I'm not sure how you could travel with this one to other EU countries (e.g. Germany or Czech Republic).
See more details on Schengen visa types here.