I will try and make my question clear. 
I have two buttons, the first one is on top of the second one.
When I press the first one, it receives the touch but the second one also receives the touch because the touch occurs within its boundary box.
What do i do in the on_touch_down or on_touch_up function to make the second button below the 
first one not to receive the touch or to do nothing with the touch.
Any help will be appreciated thank you.
What do i do in the on_touch_down or on_touch_up function to make the second button below the
first one not to receive the touch or to do nothing with the touch.

Return True to indicate that you have consumed the touch and it shouldn't keep being passed on.
This should be the default behaviour for buttons, it sounds like you may have broken it by overriding on_touch_down without correctly passing out the return value.
How do you make a button in kivy receive a touch without the one below it receiving the touch