Achieving Software reliability is hard because the complexity of software tends to be high. Various approaches can be used to improve the reliability of the software, however, it is hard to balance development time and budget with software reliability.
Artificial intelligence today is properly known as narrow AI (or weak AI), in that it is designed to perform a narrow task (e.g. only facial recognition or only internet searches or only driving a car).
Artificial consciousness is certainly a separate field, also by far not any (almost no) Artificial Intelligence program is artificial consciousness program, and for example the program what simulates imagination, emotions etc is not Artificial Intelligence program when it doesn't simulate intelligence.