A home is a metaphysical concept of where you live. My home is in an apartment building, on the second floor. I can welcome people into my home.
A house is generally used to mean a single-family dwelling, or at least a building used exclusively for a small number of people, perhaps to include a duplex house.
In your case, "They have a beautiful home," probably more implies that they decorate well and keep it up nicely. A "beautiful house" would probably mean the building itself is fancy, without saying anything about the decorations or people or their taste.
'Have learnt English' implies that you have done with your learning 2 years before. In this case, if you want to express "something has been happening", you could put it as "have been learning English"
'Since' is used with a point in time. '2 years' is not a point of reference in the past. You could use "for 2 years" to indicate you've kept learning in the past 2 years. I am not sure if "since 2 years ago" works here. I saw some debates on the validity of "since 2 years ago" on some websites.
So, the whole sentence could be rephrased as: I have been learning English for 2 years or I have been learning English since 2 years ago.(I guess some would take issue with the latter sentence.)
Best Answer
At least in American English, "each" is treated as singular. Therefore, "has" is preferred, and "have" is non-standard.
This is supported by Cambridge Dictionary, so I suspect it holds true for British English as well:
Cambridge indicates that in BrE, the use of a plural verb is common in informal speech:
In my experience, this is not common usage from American speakers.